fidel-react-native 1.6.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +54 -55
- package/android/build.gradle +11 -8
- package/android/src/main/java/com/fidelreactlibrary/FidelModule.java +52 -44
- package/android/src/main/java/com/fidelreactlibrary/FidelPackage.java +64 -49
- package/android/src/main/java/com/fidelreactlibrary/adapters/CardVerificationConfigurationProperties.java +22 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardSchemesAdapter.java +46 -29
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapter.java +57 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCountryAdapter.java +47 -19
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapter.java +46 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupAdapter.java +108 -6
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupProperties.java +67 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapter.java +35 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/ImageFromReadableMapAdapter.java +5 -1
- package/android/src/main/java/com/fidelreactlibrary/adapters/ResultsAdapter.java +288 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardSchemesAdapter.java +6 -2
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardVerificationChoiceAdapter.java +11 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CountryAdapter.java +14 -3
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataAdapter.java +5 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/ProgramTypeAdapter.java +11 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/VerificationConfigurationAdapter.java +9 -0
- package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEvent.java +17 -0
- package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEventEmitter.java +24 -0
- package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationChoiceObserver.java +29 -0
- package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationStartedObserver.java +31 -0
- package/android/src/main/java/com/fidelreactlibrary/events/ResultsObserver.java +72 -0
- package/android/src/test/java/com/fidelreactlibrary/FidelModuleTests.java +50 -31
- package/android/src/test/java/com/fidelreactlibrary/FidelPackageTests.java +0 -1
- package/android/src/test/java/com/fidelreactlibrary/{FidelCardSchemesAdapterTests.java → adapters/FidelCardSchemesAdapterTests.java} +51 -47
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapterTest.java +70 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCountryAdapterTests.java +157 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapterTests.java +54 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelSetupAdapterTests.java +900 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapterTest.java +51 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/ResultsAdapterTests.java +74 -0
- package/android/src/test/java/com/fidelreactlibrary/{ErrorEventEmitterTests.java → events/BridgeLibraryEventEmitterTests.java} +18 -7
- package/android/src/test/java/com/fidelreactlibrary/events/BridgeLibraryEventTests.java +17 -0
- package/android/src/test/java/com/fidelreactlibrary/events/CardVerificationStartedObserverTests.java +49 -0
- package/android/src/test/java/com/fidelreactlibrary/events/ResultsObserverTests.java +38 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/CardSchemeAdapterStub.java +17 -6
- package/android/src/test/java/com/fidelreactlibrary/fakes/ConstantsProviderStub.java +2 -2
- package/android/src/test/java/com/fidelreactlibrary/fakes/CountryAdapterStub.java +25 -10
- package/android/src/test/java/com/fidelreactlibrary/fakes/{DataConverterStub.java → DataAdapterStub.java} +3 -3
- package/android/src/test/java/com/fidelreactlibrary/fakes/ProgramTypeAdapterStub.java +31 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReactContextMock.java +1 -1
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableArrayStub.java +82 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableMapStub.java +175 -40
- package/android/src/test/java/com/fidelreactlibrary/fakes/VerificationConfigurationAdapterStub.java +13 -0
- package/fidel-react-native.podspec +1 -1
- package/index.js +71 -19
- package/ios/Adapters/CardSchemesAdapter.swift +13 -0
- package/ios/Adapters/ConsentDetailsAdapter.swift +19 -0
- package/ios/Adapters/EnrollmentResultAdapter.swift +28 -0
- package/ios/Adapters/ErrorResultAdapter.swift +71 -0
- package/ios/{FLRNImageAdapter.h → Adapters/FLRNImageFromRNAdapter.h} +2 -3
- package/ios/Adapters/FidelSetupAdapter.swift +89 -0
- package/ios/Adapters/FidelVerificationConfigurationAdapter.swift +19 -0
- package/ios/Adapters/VerificationResultAdapter.swift +17 -0
- package/ios/CardVerificationConfigurationProperties.swift +14 -0
- package/ios/Constants/CardSchemeConstants.swift +38 -0
- package/ios/Constants/CardVerificationChoiceConstants.swift +24 -0
- package/ios/Constants/CountryConstants.swift +47 -0
- package/ios/Constants/EnrollmentErrorTypeConstants.swift +25 -0
- package/ios/Constants/ErrorTypeConstants.swift +37 -0
- package/ios/Constants/ExportedConstantsProvider.swift +42 -0
- package/ios/Constants/ProgramTypeConstants.swift +30 -0
- package/ios/Constants/ResultTypeConstants.swift +35 -0
- package/ios/Constants/VerificationErrorTypeConstants.swift +29 -0
- package/ios/Events/BridgeLibraryEvent.swift +14 -0
- package/ios/Events/CardVerificationChoiceSelectedObserver.swift +23 -0
- package/ios/Events/CardVerificationStartedObserver.swift +21 -0
- package/ios/Events/EventObserver.swift +13 -0
- package/ios/Events/JSResultProperties.swift +15 -0
- package/ios/Events/JSResultTypes.swift +14 -0
- package/ios/Events/ResultsObserver.swift +37 -0
- package/ios/FidelSetupProperties.swift +33 -0
- package/ios/NativeFidelBridge.m +11 -0
- package/ios/NativeFidelBridge.swift +93 -0
- package/package.json +1 -4
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelOptionsAdapter.java +0 -121
- package/android/src/main/java/com/fidelreactlibrary/adapters/WritableMapDataConverter.java +0 -94
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataConverter.java +0 -5
- package/android/src/main/java/com/fidelreactlibrary/events/CallbackActivityEventListener.java +0 -64
- package/android/src/main/java/com/fidelreactlibrary/events/CallbackInput.java +0 -7
- package/android/src/main/java/com/fidelreactlibrary/events/ErrorEventEmitter.java +0 -22
- package/android/src/test/java/com/fidelreactlibrary/CallbackActivityEventListenerTests.java +0 -133
- package/android/src/test/java/com/fidelreactlibrary/FidelCountryAdapterTests.java +0 -74
- package/android/src/test/java/com/fidelreactlibrary/FidelOptionsAdapterTests.java +0 -414
- package/android/src/test/java/com/fidelreactlibrary/FidelSetupAdapterTests.java +0 -65
- package/android/src/test/java/com/fidelreactlibrary/WritableMapDataConverterTests.java +0 -186
- package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackInputSpy.java +0 -12
- package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackSpy.java +0 -18
- package/android/src/test/java/com/fidelreactlibrary/fakes/IntentMock.java +0 -20
- package/ios/FLRNCardSchemesAdapter.h +0 -16
- package/ios/FLRNCardSchemesFromJSAdapter.h +0 -14
- package/ios/FLRNCardSchemesFromJSAdapter.m +0 -39
- package/ios/FLRNConstantsProvider.h +0 -15
- package/ios/FLRNImageFromRNAdapter.h +0 -14
- package/ios/FLRNObjectToDictionaryAdapter.h +0 -15
- package/ios/FLRNOptionsAdapter.h +0 -24
- package/ios/FLRNOptionsAdapter.m +0 -133
- package/ios/FLRNRuntimeObjectToDictionaryAdapter.h +0 -14
- package/ios/FLRNRuntimeObjectToDictionaryAdapter.m +0 -36
- package/ios/FLRNSDKOptions.h +0 -24
- package/ios/FLRNSDKSetupOptions.h +0 -14
- package/ios/FLRNSetupAdapter.h +0 -17
- package/ios/FLRNSetupAdapter.m +0 -50
- package/ios/Fidel.h +0 -20
- package/ios/Fidel.m +0 -79
- package/ios/RCTConvert+CardScheme.h +0 -33
- package/ios/RCTConvert+Options.h +0 -52
- package/ios/RCTConvert+Options.m +0 -21
- /package/ios/{FLRNImageFromRNAdapter.m → Adapters/FLRNImageFromRNAdapter.m} +0 -0
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
package com.fidelreactlibrary;
|
|
2
|
-
|
|
3
|
-
import android.graphics.Bitmap;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.bridge.JavaOnlyArray;
|
|
6
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
-
import com.fidel.sdk.Fidel;
|
|
8
|
-
import com.fidelreactlibrary.adapters.FidelOptionsAdapter;
|
|
9
|
-
import com.fidelreactlibrary.fakes.CardSchemeAdapterStub;
|
|
10
|
-
import com.fidelreactlibrary.fakes.CountryAdapterStub;
|
|
11
|
-
import com.fidelreactlibrary.fakes.DataProcessorSpy;
|
|
12
|
-
import com.fidelreactlibrary.fakes.ReadableMapStub;
|
|
13
|
-
|
|
14
|
-
import org.junit.After;
|
|
15
|
-
import org.junit.Test;
|
|
16
|
-
import org.junit.runner.RunWith;
|
|
17
|
-
import org.robolectric.RobolectricTestRunner;
|
|
18
|
-
|
|
19
|
-
import java.util.Arrays;
|
|
20
|
-
import java.util.EnumSet;
|
|
21
|
-
import java.util.HashMap;
|
|
22
|
-
import java.util.Map;
|
|
23
|
-
import java.util.Set;
|
|
24
|
-
|
|
25
|
-
import static com.fidelreactlibrary.helpers.AssertHelpers.assertMapContainsMap;
|
|
26
|
-
import static com.fidelreactlibrary.helpers.AssertHelpers.assertMapEqualsWithJSONObject;
|
|
27
|
-
import static org.hamcrest.core.IsCollectionContaining.hasItem;
|
|
28
|
-
import static org.junit.Assert.*;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
//Custom test runner is necessary for being able to use JSONObject
|
|
32
|
-
@RunWith(RobolectricTestRunner.class)
|
|
33
|
-
public class FidelOptionsAdapterTests {
|
|
34
|
-
|
|
35
|
-
private DataProcessorSpy<ReadableMap> imageAdapterSpy = new DataProcessorSpy<>();
|
|
36
|
-
private ReadableMapStub map;
|
|
37
|
-
private CountryAdapterStub countryAdapterStub = new CountryAdapterStub();
|
|
38
|
-
private CardSchemeAdapterStub cardSchemesAdapterStub = new CardSchemeAdapterStub();
|
|
39
|
-
private FidelOptionsAdapter sut = new FidelOptionsAdapter(imageAdapterSpy, countryAdapterStub, cardSchemesAdapterStub);
|
|
40
|
-
|
|
41
|
-
private static final String TEST_COMPANY_NAME = "Test Company Name Inc.";
|
|
42
|
-
private static final String TEST_PROGRAM_NAME = "Test Program Name";
|
|
43
|
-
private static final String TEST_DELETE_INSTRUCTIONS = "Test Delete instructions.";
|
|
44
|
-
private static final String TEST_PRIVACY_URL = "testprivacy.url";
|
|
45
|
-
private static final String TEST_TERMS_CONDITIONS_URL = "termsconditions.url";
|
|
46
|
-
private static final Fidel.Country[] TEST_COUNTRIES = new Fidel.Country[]{Fidel.Country.UNITED_KINGDOM, Fidel.Country.JAPAN, Fidel.Country.CANADA};
|
|
47
|
-
private static final Integer TEST_COUNTRY_NUMBER = 12;
|
|
48
|
-
|
|
49
|
-
@After
|
|
50
|
-
public final void tearDown() {
|
|
51
|
-
sut = null;
|
|
52
|
-
Fidel.bannerImage = null;
|
|
53
|
-
Fidel.autoScan = false;
|
|
54
|
-
Fidel.companyName = null;
|
|
55
|
-
Fidel.programName = null;
|
|
56
|
-
Fidel.deleteInstructions = null;
|
|
57
|
-
Fidel.privacyURL = null;
|
|
58
|
-
Fidel.termsConditionsURL = null;
|
|
59
|
-
Fidel.metaData = null;
|
|
60
|
-
Fidel.allowedCountries = null;
|
|
61
|
-
Fidel.supportedCardSchemes = EnumSet.allOf(Fidel.CardScheme.class);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
//Verification values tests
|
|
65
|
-
@Test
|
|
66
|
-
public void test_ChecksAllKeys() {
|
|
67
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.BANNER_IMAGE_KEY));
|
|
68
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.AUTO_SCAN_KEY));
|
|
69
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.COMPANY_NAME_KEY));
|
|
70
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.PROGRAM_NAME_KEY));
|
|
71
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.DELETE_INSTRUCTIONS_KEY));
|
|
72
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.PRIVACY_URL_KEY));
|
|
73
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.TERMS_CONDITIONS_URL_KEY));
|
|
74
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.META_DATA_KEY));
|
|
75
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.ALLOWED_COUNTRIES_KEY));
|
|
76
|
-
assertThat(FidelOptionsAdapter.OPTION_KEYS, hasItem(FidelOptionsAdapter.CARD_SCHEMES_KEY));
|
|
77
|
-
for (String key: FidelOptionsAdapter.OPTION_KEYS) {
|
|
78
|
-
//for the card schemes value we only check if it exists
|
|
79
|
-
if (!key.equals(FidelOptionsAdapter.CARD_SCHEMES_KEY)) {
|
|
80
|
-
assertToCheckForKey(key);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
public void test_ChecksForSupportedCardSchemes() {
|
|
86
|
-
ReadableMapStub map = ReadableMapStub.mapWithExistingKey(FidelOptionsAdapter.CARD_SCHEMES_KEY);
|
|
87
|
-
sut.process(map);
|
|
88
|
-
assertThat(map.keyNamesCheckedFor, hasItem(FidelOptionsAdapter.CARD_SCHEMES_KEY));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
//Tests when keys are present, but no data is found for that key
|
|
92
|
-
@Test
|
|
93
|
-
public void test_IfHasBannerImageKeyButNoImage_DontSendDataToImageAdapter() {
|
|
94
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(FidelOptionsAdapter.BANNER_IMAGE_KEY);
|
|
95
|
-
sut.process(map);
|
|
96
|
-
assertFalse(imageAdapterSpy.hasAskedToProcessData);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@Test
|
|
100
|
-
public void test_IfHasAutoScanKeyButNoValue_DontSetItToTheSDK() {
|
|
101
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(FidelOptionsAdapter.AUTO_SCAN_KEY);
|
|
102
|
-
map.boolToReturn = true;
|
|
103
|
-
sut.process(map);
|
|
104
|
-
assertFalse(Fidel.autoScan);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@Test
|
|
108
|
-
public void test_IfHasCompanyNameKeyButNoValue_DontSetItToTheSDK() {
|
|
109
|
-
String keyToTestFor = FidelOptionsAdapter.COMPANY_NAME_KEY;
|
|
110
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
111
|
-
processWithString(TEST_COMPANY_NAME, keyToTestFor);
|
|
112
|
-
assertNotEqualsString(keyToTestFor, Fidel.companyName);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
@Test
|
|
116
|
-
public void test_IfHasProgramNameKeyButNoValue_DontSetItToTheSDK() {
|
|
117
|
-
String keyToTestFor = FidelOptionsAdapter.PROGRAM_NAME_KEY;
|
|
118
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
119
|
-
processWithString(TEST_PROGRAM_NAME, keyToTestFor);
|
|
120
|
-
assertNotEqualsString(keyToTestFor, Fidel.programName);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
@Test
|
|
124
|
-
public void test_IfHasDeleteInstructionsKeyButNoValue_DontSetThemToTheSDK() {
|
|
125
|
-
String keyToTestFor = FidelOptionsAdapter.DELETE_INSTRUCTIONS_KEY;
|
|
126
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
127
|
-
processWithString(TEST_DELETE_INSTRUCTIONS, keyToTestFor);
|
|
128
|
-
assertNotEqualsString(keyToTestFor, Fidel.deleteInstructions);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
@Test
|
|
132
|
-
public void test_IfHasPrivacyURLKeyButNoValue_DontSetItToTheSDK() {
|
|
133
|
-
String keyToTestFor = FidelOptionsAdapter.PRIVACY_URL_KEY;
|
|
134
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
135
|
-
processWithString(TEST_PRIVACY_URL, keyToTestFor);
|
|
136
|
-
assertNotEqualsString(keyToTestFor, Fidel.privacyURL);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
@Test
|
|
140
|
-
public void test_IfHasTermsConditionsURLKeyButNoValue_DontSetItToTheSDK() {
|
|
141
|
-
String keyToTestFor = FidelOptionsAdapter.TERMS_CONDITIONS_URL_KEY;
|
|
142
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
143
|
-
processWithString(TEST_TERMS_CONDITIONS_URL, keyToTestFor);
|
|
144
|
-
assertNotEqualsString(keyToTestFor, Fidel.termsConditionsURL);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
@Test
|
|
148
|
-
public void test_IfHasMetaDataKeyButNoValue_DontSetItToTheSDK() {
|
|
149
|
-
String keyToTestFor = FidelOptionsAdapter.META_DATA_KEY;
|
|
150
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
151
|
-
processWithMap(keyToTestFor, TEST_META_DATA());
|
|
152
|
-
assertNull(Fidel.metaData);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
@Test
|
|
156
|
-
public void test_IfHasCountryKeyButNoValue_DontSetItToTheSDK() {
|
|
157
|
-
String keyToTestFor = FidelOptionsAdapter.ALLOWED_COUNTRIES_KEY;
|
|
158
|
-
map = ReadableMapStub.mapWithExistingKeyButNoValue(keyToTestFor);
|
|
159
|
-
processWithCountryInt();
|
|
160
|
-
assertNull(Fidel.allowedCountries);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
//Tests when keys are missing
|
|
164
|
-
@Test
|
|
165
|
-
public void test_IfDoesntHaveBannerImageKey_DontSendDataToImageAdapter() {
|
|
166
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
167
|
-
sut.process(map);
|
|
168
|
-
assertFalse(imageAdapterSpy.hasAskedToProcessData);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
@Test
|
|
172
|
-
public void test_IfDoesntHaveAutoScanKey_DontSetItToTheSDK() {
|
|
173
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
174
|
-
map.boolToReturn = true;
|
|
175
|
-
sut.process(map);
|
|
176
|
-
assertFalse(Fidel.autoScan);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
@Test
|
|
180
|
-
public void test_IfDoesntHaveCompanyNameKey_DontSetItToTheSDK() {
|
|
181
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
182
|
-
String key = FidelOptionsAdapter.COMPANY_NAME_KEY;
|
|
183
|
-
processWithString(TEST_COMPANY_NAME, key);
|
|
184
|
-
assertNotEqualsString(key, Fidel.companyName);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
@Test
|
|
188
|
-
public void test_IfDoesntHaveProgramNameKey_DontSetItToTheSDK() {
|
|
189
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
190
|
-
String key = FidelOptionsAdapter.PROGRAM_NAME_KEY;
|
|
191
|
-
processWithString(TEST_PROGRAM_NAME, key);
|
|
192
|
-
assertNotEqualsString(key, Fidel.programName);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
@Test
|
|
196
|
-
public void test_IfDoesntHaveDeleteInstructionsKey_DontSetThemToTheSDK() {
|
|
197
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
198
|
-
String key = FidelOptionsAdapter.DELETE_INSTRUCTIONS_KEY;
|
|
199
|
-
processWithString(TEST_DELETE_INSTRUCTIONS, key);
|
|
200
|
-
assertNotEqualsString(key, Fidel.deleteInstructions);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
@Test
|
|
204
|
-
public void test_IfDoesntHavePrivacyURLKey_DontSetItToTheSDK() {
|
|
205
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
206
|
-
String key = FidelOptionsAdapter.PRIVACY_URL_KEY;
|
|
207
|
-
processWithString(TEST_PRIVACY_URL, key);
|
|
208
|
-
assertNotEqualsString(key, Fidel.privacyURL);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@Test
|
|
212
|
-
public void test_IfDoesntHaveTermsConditionsURLKey_DontSetItToTheSDK() {
|
|
213
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
214
|
-
String key = FidelOptionsAdapter.TERMS_CONDITIONS_URL_KEY;
|
|
215
|
-
processWithString(TEST_TERMS_CONDITIONS_URL, key);
|
|
216
|
-
assertNotEqualsString(key, Fidel.termsConditionsURL);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
@Test
|
|
220
|
-
public void test_IfDoesntHaveMetaDataKey_DontSetItToTheSDK() {
|
|
221
|
-
String key = FidelOptionsAdapter.META_DATA_KEY;
|
|
222
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
223
|
-
processWithMap(key, TEST_META_DATA());
|
|
224
|
-
assertNull(Fidel.metaData);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
@Test
|
|
228
|
-
public void test_IfDoesntHaveCountryKey_DontSetItToTheSDK() {
|
|
229
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
230
|
-
processWithCountryInt();
|
|
231
|
-
assertNull(Fidel.allowedCountries);
|
|
232
|
-
}
|
|
233
|
-
@Test
|
|
234
|
-
public void test_IfDoesntHaveCardSchemeKey_DontSetItToTheSDK() {
|
|
235
|
-
map = ReadableMapStub.mapWithNoKey();
|
|
236
|
-
processWithCardSchemes(Fidel.CardScheme.VISA);
|
|
237
|
-
assertEquals(EnumSet.allOf(Fidel.CardScheme.class), Fidel.supportedCardSchemes);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
//Setting correct values tests
|
|
241
|
-
@Test
|
|
242
|
-
public void test_WhenImageProcessorSendsBitmap_SendItToImageProcessor() {
|
|
243
|
-
String keyToTestFor = FidelOptionsAdapter.BANNER_IMAGE_KEY;
|
|
244
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
245
|
-
processWithMap(keyToTestFor, new ReadableMapStub());
|
|
246
|
-
assertEquals(map.mapsForKeysToReturn.get(keyToTestFor),
|
|
247
|
-
imageAdapterSpy.dataToProcess);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
@Test
|
|
251
|
-
public void test_WhenImageProcessorSendsBitmap_SetItForSDKBannerImage() {
|
|
252
|
-
Bitmap newBitmap = Bitmap.createBitmap(100, 200, Bitmap.Config.ALPHA_8);
|
|
253
|
-
sut.output(newBitmap);
|
|
254
|
-
assertEquals(Fidel.bannerImage, newBitmap);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
@Test
|
|
258
|
-
public void test_WhenAutoScanValueIsTrue_SetItTrueForTheSDK() {
|
|
259
|
-
processWithBoolean(true);
|
|
260
|
-
assertTrue(Fidel.autoScan);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
@Test
|
|
264
|
-
public void test_WhenAutoScanValueIsFalse_SetItFalseForTheSDK() {
|
|
265
|
-
processWithBoolean(false);
|
|
266
|
-
assertFalse(Fidel.autoScan);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
@Test
|
|
270
|
-
public void test_WhenCompanyNameValueIsSet_SetItForTheSDK() {
|
|
271
|
-
String keyToTestFor = FidelOptionsAdapter.COMPANY_NAME_KEY;
|
|
272
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
273
|
-
processWithString(TEST_COMPANY_NAME, keyToTestFor);
|
|
274
|
-
assertEqualsString(keyToTestFor, Fidel.companyName);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
@Test
|
|
278
|
-
public void test_WhenProgramNameValueIsSet_SetItForTheSDK() {
|
|
279
|
-
String keyToTestFor = FidelOptionsAdapter.PROGRAM_NAME_KEY;
|
|
280
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
281
|
-
processWithString(TEST_PROGRAM_NAME, keyToTestFor);
|
|
282
|
-
assertEqualsString(keyToTestFor, Fidel.programName);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
@Test
|
|
286
|
-
public void test_WhenDeleteInstructionsValueIsSet_SetItForTheSDK() {
|
|
287
|
-
String keyToTestFor = FidelOptionsAdapter.DELETE_INSTRUCTIONS_KEY;
|
|
288
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
289
|
-
processWithString(TEST_DELETE_INSTRUCTIONS, keyToTestFor);
|
|
290
|
-
assertEqualsString(keyToTestFor, Fidel.deleteInstructions);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
@Test
|
|
294
|
-
public void test_WhenPrivacyURLValueIsSet_SetItForTheSDK() {
|
|
295
|
-
String keyToTestFor = FidelOptionsAdapter.PRIVACY_URL_KEY;
|
|
296
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
297
|
-
processWithString(TEST_PRIVACY_URL, keyToTestFor);
|
|
298
|
-
assertEqualsString(keyToTestFor, Fidel.privacyURL);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
@Test
|
|
302
|
-
public void test_WhenTermsConditionsURLValueIsSet_SetItForTheSDK() {
|
|
303
|
-
String keyToTestFor = FidelOptionsAdapter.TERMS_CONDITIONS_URL_KEY;
|
|
304
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
305
|
-
processWithString(TEST_TERMS_CONDITIONS_URL, keyToTestFor);
|
|
306
|
-
assertEqualsString(keyToTestFor, Fidel.termsConditionsURL);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
@Test
|
|
310
|
-
public void test_WhenMetaDataValueIsSet_ConvertItToJSONForTheSDK() {
|
|
311
|
-
String keyToTestFor = FidelOptionsAdapter.META_DATA_KEY;
|
|
312
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
313
|
-
processWithMap(keyToTestFor, TEST_META_DATA());
|
|
314
|
-
assertMapEqualsWithJSONObject(TEST_HASH_MAP(), Fidel.metaData);
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
@Test
|
|
318
|
-
public void test_WhenAllowedCountriesAreSet_ConvertThemWithCountryAdapterForTheSDK() {
|
|
319
|
-
String keyToTestFor = FidelOptionsAdapter.ALLOWED_COUNTRIES_KEY;
|
|
320
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
321
|
-
processWithCountryInt();
|
|
322
|
-
assertEquals(countryAdapterStub.countriesToReturn, Fidel.allowedCountries);
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
@Test
|
|
326
|
-
public void test_WhenCardSchemesAreSet_ConvertThemWithCountryAdapterForTheSDK() {
|
|
327
|
-
String keyToTestFor = FidelOptionsAdapter.CARD_SCHEMES_KEY;
|
|
328
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
329
|
-
processWithCardSchemes(Fidel.CardScheme.VISA, Fidel.CardScheme.MASTERCARD);
|
|
330
|
-
assertEquals(map.readableArrayToReturn, cardSchemesAdapterStub.cardSchemesReceived);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
@Test
|
|
334
|
-
public void test_WhenCardSchemesAreSet_SetThemForTheSDK() {
|
|
335
|
-
String keyToTestFor = FidelOptionsAdapter.CARD_SCHEMES_KEY;
|
|
336
|
-
map = ReadableMapStub.mapWithExistingKey(keyToTestFor);
|
|
337
|
-
Fidel.CardScheme[] expectedSchemes = {Fidel.CardScheme.VISA, Fidel.CardScheme.MASTERCARD};
|
|
338
|
-
Set<Fidel.CardScheme> expectedSchemesSet = EnumSet.copyOf(Arrays.asList(expectedSchemes));
|
|
339
|
-
processWithCardSchemes(expectedSchemes);
|
|
340
|
-
assertEquals(expectedSchemesSet, Fidel.supportedCardSchemes);
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
//Exposed constants tests
|
|
344
|
-
@Test
|
|
345
|
-
public void test_WhenAskedForConstants_IncludeConstantsFromCountriesAdapter() {
|
|
346
|
-
Map<String, Object> actualConstants = sut.getConstants();
|
|
347
|
-
Map<String, Object> expectedConstants = countryAdapterStub.getConstants();
|
|
348
|
-
assertMapContainsMap(actualConstants, expectedConstants);
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
@Test
|
|
352
|
-
public void test_WhenAskedForConstants_IncludeConstantsFromCardSchemesAdapter() {
|
|
353
|
-
Map<String, Object> actualConstants = sut.getConstants();
|
|
354
|
-
Map<String, Object> expectedConstants = cardSchemesAdapterStub.getConstants();
|
|
355
|
-
assertMapContainsMap(actualConstants, expectedConstants);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
//Helper functions
|
|
359
|
-
private static HashMap<String, Object> TEST_HASH_MAP() {
|
|
360
|
-
HashMap<String, Object> hashmapToReturn = new HashMap<>();
|
|
361
|
-
hashmapToReturn.put("stringKey", "StringVal");
|
|
362
|
-
hashmapToReturn.put("intKey", 3);
|
|
363
|
-
hashmapToReturn.put("doubleKey", 4.5);
|
|
364
|
-
return hashmapToReturn;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
private static ReadableMapStub TEST_META_DATA() {
|
|
368
|
-
ReadableMapStub map = new ReadableMapStub();
|
|
369
|
-
map.hashMapToReturn = TEST_HASH_MAP();
|
|
370
|
-
return map;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
private void processWithBoolean(Boolean bool) {
|
|
374
|
-
map = ReadableMapStub.mapWithExistingKey(FidelOptionsAdapter.AUTO_SCAN_KEY);
|
|
375
|
-
map.boolToReturn = bool;
|
|
376
|
-
sut.process(map);
|
|
377
|
-
}
|
|
378
|
-
private void processWithString(String string, String key) {
|
|
379
|
-
map.stringForKeyToReturn.put(key, string);
|
|
380
|
-
sut.process(map);
|
|
381
|
-
}
|
|
382
|
-
private void processWithMap(String key, ReadableMap mapToReturn) {
|
|
383
|
-
map.mapsForKeysToReturn.put(key, mapToReturn);
|
|
384
|
-
sut.process(map);
|
|
385
|
-
}
|
|
386
|
-
private void processWithCountryInt() {
|
|
387
|
-
countryAdapterStub.countriesToReturn = TEST_COUNTRIES;
|
|
388
|
-
map.intToReturn = TEST_COUNTRY_NUMBER;
|
|
389
|
-
sut.process(map);
|
|
390
|
-
}
|
|
391
|
-
private void processWithCardSchemes(Fidel.CardScheme... cardSchemes) {
|
|
392
|
-
cardSchemesAdapterStub.fakeAdaptedCardSchemesToReturn = EnumSet.copyOf(Arrays.asList(cardSchemes));
|
|
393
|
-
map.readableArrayToReturn = JavaOnlyArray.of((Object[]) cardSchemes);
|
|
394
|
-
sut.process(map);
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
private void assertEqualsString(String key, String valueToCheckWith) {
|
|
398
|
-
sut.process(map);
|
|
399
|
-
assertEquals(map.stringForKeyToReturn.get(key), valueToCheckWith);
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
private void assertNotEqualsString(String key, String valueToCheckWith) {
|
|
403
|
-
sut.process(map);
|
|
404
|
-
assertNotEquals(map.stringForKeyToReturn.get(key), valueToCheckWith);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
private void assertToCheckForKey(String keyToCheckFor) {
|
|
408
|
-
ReadableMapStub map = ReadableMapStub.mapWithExistingKey(keyToCheckFor);
|
|
409
|
-
sut.process(map);
|
|
410
|
-
assertThat(map.keyNamesCheckedFor, hasItem(keyToCheckFor));
|
|
411
|
-
assertThat(map.keyNamesVerifiedNullFor, hasItem(keyToCheckFor));
|
|
412
|
-
assertThat(map.keyNamesAskedFor, hasItem(keyToCheckFor));
|
|
413
|
-
}
|
|
414
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
package com.fidelreactlibrary;
|
|
2
|
-
|
|
3
|
-
import com.fidel.sdk.Fidel;
|
|
4
|
-
import com.fidelreactlibrary.adapters.FidelSetupAdapter;
|
|
5
|
-
import com.fidelreactlibrary.fakes.ReadableMapStub;
|
|
6
|
-
|
|
7
|
-
import org.junit.After;
|
|
8
|
-
import org.junit.Before;
|
|
9
|
-
import org.junit.Test;
|
|
10
|
-
|
|
11
|
-
import static junit.framework.TestCase.*;
|
|
12
|
-
|
|
13
|
-
public class FidelSetupAdapterTests {
|
|
14
|
-
|
|
15
|
-
private static final String TEST_API_KEY = "pk_123123123";
|
|
16
|
-
private static final String TEST_PROGRAM_ID = "234234";
|
|
17
|
-
|
|
18
|
-
private FidelSetupAdapter sut;
|
|
19
|
-
|
|
20
|
-
@Before
|
|
21
|
-
public final void setUp() {
|
|
22
|
-
sut = new FidelSetupAdapter();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@After
|
|
26
|
-
public final void tearDown() {
|
|
27
|
-
sut = null;
|
|
28
|
-
Fidel.apiKey = null;
|
|
29
|
-
Fidel.programId = null;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@Test
|
|
33
|
-
public void test_WhenDataHasNoApiKey_DontSetItToSDK() {
|
|
34
|
-
ReadableMapStub mapStub = ReadableMapStub.mapWithNoKey();
|
|
35
|
-
sut.process(mapStub);
|
|
36
|
-
assertNull(Fidel.apiKey);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@Test
|
|
40
|
-
public void test_WhenDataHasNoProgramIDKey_DontSetItToSDK() {
|
|
41
|
-
ReadableMapStub mapStub = ReadableMapStub.mapWithNoKey();
|
|
42
|
-
sut.process(mapStub);
|
|
43
|
-
assertNull(Fidel.programId);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@Test
|
|
47
|
-
public void test_WhenApiKeyIsSet_SetItToSDK() {
|
|
48
|
-
String expectedValue = TEST_API_KEY;
|
|
49
|
-
processWithString(FidelSetupAdapter.API_KEY, expectedValue);
|
|
50
|
-
assertEquals(expectedValue, Fidel.apiKey);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@Test
|
|
54
|
-
public void test_WhenProgramIDIsSet_SetItToSDK() {
|
|
55
|
-
String expectedValue = TEST_PROGRAM_ID;
|
|
56
|
-
processWithString(FidelSetupAdapter.PROGRAM_ID_KEY, expectedValue);
|
|
57
|
-
assertEquals(expectedValue, Fidel.programId);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
private void processWithString(String key, String value) {
|
|
61
|
-
ReadableMapStub mapStub = ReadableMapStub.mapWithExistingKey(key);
|
|
62
|
-
mapStub.stringForKeyToReturn.put(key, value);
|
|
63
|
-
sut.process(mapStub);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
package com.fidelreactlibrary;
|
|
2
|
-
|
|
3
|
-
import android.os.Parcelable;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.bridge.JavaOnlyMap;
|
|
6
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
-
import com.facebook.react.bridge.WritableMap;
|
|
8
|
-
import com.fidel.sdk.LinkResult;
|
|
9
|
-
import com.fidel.sdk.LinkResultError;
|
|
10
|
-
import com.fidel.sdk.LinkResultErrorCode;
|
|
11
|
-
import com.fidelreactlibrary.adapters.WritableMapDataConverter;
|
|
12
|
-
import com.fidelreactlibrary.adapters.abstraction.ObjectFactory;
|
|
13
|
-
|
|
14
|
-
import org.json.JSONException;
|
|
15
|
-
import org.json.JSONObject;
|
|
16
|
-
import org.junit.After;
|
|
17
|
-
import org.junit.Before;
|
|
18
|
-
import org.junit.Test;
|
|
19
|
-
import org.junit.runner.RunWith;
|
|
20
|
-
import org.robolectric.RobolectricTestRunner;
|
|
21
|
-
|
|
22
|
-
import java.lang.reflect.Field;
|
|
23
|
-
|
|
24
|
-
import static com.fidelreactlibrary.helpers.AssertHelpers.assertMapEqualsWithJSONObject;
|
|
25
|
-
import static org.junit.Assert.*;
|
|
26
|
-
|
|
27
|
-
//Custom test runner is necessary for being able to use JSONObject
|
|
28
|
-
@RunWith(RobolectricTestRunner.class)
|
|
29
|
-
public class WritableMapDataConverterTests {
|
|
30
|
-
|
|
31
|
-
private static final String TEST_CARD_ID = "Test Card ID";
|
|
32
|
-
private static final String TEST_ERROR_MESSAGE = "Test Error Message";
|
|
33
|
-
|
|
34
|
-
private WritableMapDataConverter sut;
|
|
35
|
-
|
|
36
|
-
@Before
|
|
37
|
-
public final void setUp() {
|
|
38
|
-
sut = new WritableMapDataConverter(new ObjectFactory<WritableMap>() {
|
|
39
|
-
@Override
|
|
40
|
-
public WritableMap create() {
|
|
41
|
-
return new JavaOnlyMap();
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@After
|
|
47
|
-
public final void tearDown() {
|
|
48
|
-
sut = null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@Test
|
|
52
|
-
public void test_WhenAskedToConvertNullObject_ReturnNull() {
|
|
53
|
-
assertNull(sut.getConvertedDataFor(null));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@Test
|
|
57
|
-
public void test_WhenExpectedNonNullStringFieldContainsNullValueInLinkResult_ReturnMapWithNullValueForIt() {
|
|
58
|
-
LinkResult linkResult = new LinkResult(TEST_CARD_ID);
|
|
59
|
-
setFieldsFor(linkResult);
|
|
60
|
-
linkResult.accountId = null;
|
|
61
|
-
WritableMap receivedMap = sut.getConvertedDataFor(linkResult);
|
|
62
|
-
assertNull(receivedMap.getString("accountId"));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@Test
|
|
66
|
-
public void test_WhenExpectedNonNullBooleanFieldContainsNullValueInLinkResult_ReturnMapWithFalseValueForIt() {
|
|
67
|
-
LinkResult linkResult = new LinkResult(TEST_CARD_ID);
|
|
68
|
-
setFieldsFor(linkResult);
|
|
69
|
-
linkResult.live = null;
|
|
70
|
-
WritableMap receivedMap = sut.getConvertedDataFor(linkResult);
|
|
71
|
-
assertFalse(receivedMap.getBoolean("live"));
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@Test
|
|
75
|
-
public void test_WhenExpectedLinkResultWithNullMetaData_ReturnMapWithNullMetaData() {
|
|
76
|
-
LinkResult linkResult = new LinkResult(TEST_CARD_ID);
|
|
77
|
-
setFieldsFor(linkResult);
|
|
78
|
-
linkResult.metaData = null;
|
|
79
|
-
WritableMap receivedMap = sut.getConvertedDataFor(linkResult);
|
|
80
|
-
assertNull(receivedMap.getMap("metaData"));
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@Test
|
|
84
|
-
public void test_WhenConvertingLinkResultWithError_AndErrorCodeIsUnknown_SetNullErrorCodeField() {
|
|
85
|
-
LinkResult linkResult = new LinkResult(null, TEST_ERROR_MESSAGE, "2021-05-19T12:37:55.278Z");
|
|
86
|
-
Object objectToConvert = linkResult.getError();
|
|
87
|
-
|
|
88
|
-
WritableMap receivedMap = sut.getConvertedDataFor(objectToConvert);
|
|
89
|
-
assertNotNull(receivedMap);
|
|
90
|
-
assertNull(receivedMap.getString("code"));
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
@Test
|
|
94
|
-
public void test_WhenConvertingValidLinkResult_IncludeAllObjectFields() throws IllegalAccessException {
|
|
95
|
-
LinkResult linkResult = new LinkResult(TEST_CARD_ID);
|
|
96
|
-
setFieldsFor(linkResult);
|
|
97
|
-
|
|
98
|
-
WritableMap receivedMap = sut.getConvertedDataFor(linkResult);
|
|
99
|
-
|
|
100
|
-
for (Field field: linkResult.getClass().getDeclaredFields()) {
|
|
101
|
-
if (field.getType() == String.class) {
|
|
102
|
-
String receivedString = receivedMap.getString(field.getName());
|
|
103
|
-
assertEquals(receivedString, field.get(linkResult));
|
|
104
|
-
}
|
|
105
|
-
else if (field.getType() == boolean.class || field.getType() == Boolean.class) {
|
|
106
|
-
boolean receivedVal = receivedMap.getBoolean(field.getName());
|
|
107
|
-
assertEquals(receivedVal, field.get(linkResult));
|
|
108
|
-
}
|
|
109
|
-
else if (field.getType() == int.class) {
|
|
110
|
-
int receivedVal = receivedMap.getInt(field.getName());
|
|
111
|
-
assertEquals(receivedVal, field.get(linkResult));
|
|
112
|
-
}
|
|
113
|
-
else if (field.getType() == JSONObject.class) {
|
|
114
|
-
ReadableMap mapField = receivedMap.getMap(field.getName());
|
|
115
|
-
JSONObject jsonField = (JSONObject)field.get(linkResult);
|
|
116
|
-
assertMapEqualsWithJSONObject(mapField.toHashMap(), jsonField);
|
|
117
|
-
}
|
|
118
|
-
else if (field.getType() != Parcelable.Creator.class && field.getType() != LinkResultError.class && !field.getName().equals("$jacocoData")) {
|
|
119
|
-
fail("Some of the link result properties are not converted" + field + " field name: " + field.getName());
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
@Test
|
|
125
|
-
public void test_WhenConvertingLinkResultWithError_IncludeAllErrorFields() throws IllegalAccessException {
|
|
126
|
-
LinkResultErrorCode errorCode = LinkResultErrorCode.USER_CANCELED;
|
|
127
|
-
LinkResult linkResult = new LinkResult(errorCode, TEST_ERROR_MESSAGE, "2021-05-19T12:37:55.278Z");
|
|
128
|
-
Object objectToConvert = linkResult.getError();
|
|
129
|
-
|
|
130
|
-
WritableMap receivedMap = sut.getConvertedDataFor(objectToConvert);
|
|
131
|
-
|
|
132
|
-
for (Field field: objectToConvert.getClass().getDeclaredFields()) {
|
|
133
|
-
if (field.getType() == String.class) {
|
|
134
|
-
String receivedString = receivedMap.getString(field.getName());
|
|
135
|
-
assertEquals(receivedString, field.get(objectToConvert));
|
|
136
|
-
}
|
|
137
|
-
else if (field.getType() == LinkResultErrorCode.class) {
|
|
138
|
-
String displayFieldName = field.getName().equals("errorCode") ? "code" : field.getName();
|
|
139
|
-
String receivedErrorCodeString = receivedMap.getString(displayFieldName);
|
|
140
|
-
LinkResultErrorCode expectedErrorCode = (LinkResultErrorCode) field.get(objectToConvert);
|
|
141
|
-
String expectedErrorCodeString = expectedErrorCode.toString().toLowerCase();
|
|
142
|
-
assertEquals(expectedErrorCodeString, receivedErrorCodeString);
|
|
143
|
-
}
|
|
144
|
-
else if (!field.getName().equals("$jacocoData")) {
|
|
145
|
-
fail("Some of the link result properties are not converted" + field + " field name: " + field.getName());
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
//Helpers
|
|
151
|
-
private void setFieldsFor(Object object) {
|
|
152
|
-
for (Field field: object.getClass().getDeclaredFields()) {
|
|
153
|
-
try {
|
|
154
|
-
if (field.getType() == String.class) {
|
|
155
|
-
field.set(object, field.getName()+"Value");
|
|
156
|
-
}
|
|
157
|
-
else if (field.getType() == boolean.class) {
|
|
158
|
-
field.setBoolean(object, getRandomBoolean());
|
|
159
|
-
}
|
|
160
|
-
else if (field.getType() == int.class) {
|
|
161
|
-
field.setInt(object, getRandomInt());
|
|
162
|
-
}
|
|
163
|
-
else if (field.getType() == JSONObject.class) {
|
|
164
|
-
JSONObject json = new JSONObject();
|
|
165
|
-
json.put("keyString", "StringValue");
|
|
166
|
-
json.put("keyInt", getRandomInt());
|
|
167
|
-
json.put("keyBool", getRandomBoolean());
|
|
168
|
-
JSONObject internalJSON = new JSONObject();
|
|
169
|
-
internalJSON.put("internalJSONKey1", getRandomInt());
|
|
170
|
-
internalJSON.put("internalJSONKey2", new JSONObject());
|
|
171
|
-
json.put("keyJSON", internalJSON);
|
|
172
|
-
field.set(object, json);
|
|
173
|
-
}
|
|
174
|
-
} catch (IllegalAccessException | JSONException e) {
|
|
175
|
-
fail();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
private static boolean getRandomBoolean() {
|
|
181
|
-
return Math.random() < 0.5;
|
|
182
|
-
}
|
|
183
|
-
private static int getRandomInt() {
|
|
184
|
-
return (int)(Math.random() * 1000);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
package com.fidelreactlibrary.fakes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Callback;
|
|
4
|
-
import com.fidelreactlibrary.events.CallbackInput;
|
|
5
|
-
|
|
6
|
-
public final class CallbackInputSpy implements CallbackInput {
|
|
7
|
-
public Callback receivedCallback;
|
|
8
|
-
@Override
|
|
9
|
-
public void callbackIsReady(Callback callback) {
|
|
10
|
-
receivedCallback = callback;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
package com.fidelreactlibrary.fakes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Callback;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
|
|
6
|
-
public final class CallbackSpy implements Callback {
|
|
7
|
-
|
|
8
|
-
public Boolean didInvoke = false;
|
|
9
|
-
public ReadableMap receivedResultMap;
|
|
10
|
-
public ReadableMap receivedErrorMap;
|
|
11
|
-
|
|
12
|
-
@Override
|
|
13
|
-
public void invoke(Object... args) {
|
|
14
|
-
receivedErrorMap = (ReadableMap)args[0];
|
|
15
|
-
receivedResultMap = (ReadableMap)args[1];
|
|
16
|
-
didInvoke = true;
|
|
17
|
-
}
|
|
18
|
-
}
|