fidel-react-native 1.6.4 → 2.1.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 +1 -51
- package/README.md +4 -378
- package/android/build.gradle +12 -8
- package/android/jacoco.gradle +2 -2
- package/android/src/main/java/com/fidelreactlibrary/FidelModule.java +61 -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 +78 -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 +13 -0
- package/ios/NativeFidelBridge.swift +100 -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
|
@@ -0,0 +1,900 @@
|
|
|
1
|
+
package com.fidelreactlibrary.adapters;
|
|
2
|
+
|
|
3
|
+
import static com.fidelreactlibrary.helpers.AssertHelpers.assertMapContainsMap;
|
|
4
|
+
import static com.fidelreactlibrary.helpers.AssertHelpers.assertMapEqualsWithJSONObject;
|
|
5
|
+
|
|
6
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
+
import com.fidelapi.Fidel;
|
|
8
|
+
import com.fidelapi.entities.CardScheme;
|
|
9
|
+
import com.fidelapi.entities.Country;
|
|
10
|
+
import com.fidelapi.entities.ProgramType;
|
|
11
|
+
import com.fidelreactlibrary.adapters.FidelSetupAdapter;
|
|
12
|
+
import com.fidelreactlibrary.adapters.FidelSetupProperties;
|
|
13
|
+
import com.fidelreactlibrary.fakes.CardSchemeAdapterStub;
|
|
14
|
+
import com.fidelreactlibrary.fakes.CountryAdapterStub;
|
|
15
|
+
import com.fidelreactlibrary.fakes.DataProcessorSpy;
|
|
16
|
+
import com.fidelreactlibrary.fakes.ProgramTypeAdapterStub;
|
|
17
|
+
import com.fidelreactlibrary.fakes.ReadableArrayStub;
|
|
18
|
+
import com.fidelreactlibrary.fakes.ReadableMapStub;
|
|
19
|
+
|
|
20
|
+
import org.json.JSONException;
|
|
21
|
+
import org.json.JSONObject;
|
|
22
|
+
import org.junit.After;
|
|
23
|
+
import org.junit.Test;
|
|
24
|
+
|
|
25
|
+
import static org.junit.Assert.*;
|
|
26
|
+
|
|
27
|
+
import org.junit.runner.RunWith;
|
|
28
|
+
import org.robolectric.RobolectricTestRunner;
|
|
29
|
+
|
|
30
|
+
import android.graphics.Bitmap;
|
|
31
|
+
|
|
32
|
+
import java.util.EnumSet;
|
|
33
|
+
import java.util.HashMap;
|
|
34
|
+
import java.util.Map;
|
|
35
|
+
import java.util.Set;
|
|
36
|
+
|
|
37
|
+
// Custom test runner is necessary for being able to use JSONObject and Bitmap
|
|
38
|
+
@RunWith(RobolectricTestRunner.class)
|
|
39
|
+
public class FidelSetupAdapterTests {
|
|
40
|
+
|
|
41
|
+
private static final String TEST_SDK_KEY = "pk_123123123";
|
|
42
|
+
private static final String TEST_PROGRAM_ID = "234234";
|
|
43
|
+
|
|
44
|
+
private static final Set<Country> TEST_COUNTRIES = EnumSet.of(Country.UNITED_KINGDOM, Country.JAPAN,
|
|
45
|
+
Country.CANADA);
|
|
46
|
+
private static final Set<CardScheme> TEST_CARD_SCHEMES_SET = EnumSet.of(CardScheme.VISA,
|
|
47
|
+
CardScheme.AMERICAN_EXPRESS);
|
|
48
|
+
|
|
49
|
+
private final DataProcessorSpy<ReadableMap> imageAdapterSpy = new DataProcessorSpy<>();
|
|
50
|
+
private final CountryAdapterStub countryAdapterStub = new CountryAdapterStub();
|
|
51
|
+
private final CardSchemeAdapterStub cardSchemesAdapterStub = new CardSchemeAdapterStub();
|
|
52
|
+
private final ProgramTypeAdapterStub programTypeAdapterStub = new ProgramTypeAdapterStub();
|
|
53
|
+
private FidelSetupAdapter sut = new FidelSetupAdapter(imageAdapterSpy, countryAdapterStub, cardSchemesAdapterStub,
|
|
54
|
+
programTypeAdapterStub);
|
|
55
|
+
|
|
56
|
+
@After
|
|
57
|
+
public final void tearDown() {
|
|
58
|
+
sut = null;
|
|
59
|
+
Fidel.sdkKey = null;
|
|
60
|
+
Fidel.programId = null;
|
|
61
|
+
Fidel.companyName = null;
|
|
62
|
+
Fidel.bannerImage = null;
|
|
63
|
+
Fidel.allowedCountries = EnumSet.allOf(Country.class);
|
|
64
|
+
Fidel.defaultSelectedCountry = Country.UNITED_KINGDOM;
|
|
65
|
+
Fidel.supportedCardSchemes = EnumSet.allOf(CardScheme.class);
|
|
66
|
+
Fidel.metaData = null;
|
|
67
|
+
Fidel.privacyPolicyUrl = null;
|
|
68
|
+
Fidel.termsAndConditionsUrl = null;
|
|
69
|
+
Fidel.programName = null;
|
|
70
|
+
Fidel.deleteInstructions = null;
|
|
71
|
+
Fidel.programType = ProgramType.TRANSACTION_SELECT;
|
|
72
|
+
Fidel.thirdPartyVerificationChoice = false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@Test
|
|
76
|
+
public void test_WhenDataHasNoKeys_DoNotSetAnyPropertyForFidel() {
|
|
77
|
+
sut.process(ReadableMapStub.mapWithNoKey());
|
|
78
|
+
assertNull(Fidel.sdkKey);
|
|
79
|
+
assertNull(Fidel.programId);
|
|
80
|
+
assertNull(Fidel.companyName);
|
|
81
|
+
assertNull(Fidel.bannerImage);
|
|
82
|
+
assertEquals(EnumSet.allOf(Country.class), Fidel.allowedCountries);
|
|
83
|
+
assertEquals(Country.UNITED_KINGDOM, Fidel.defaultSelectedCountry);
|
|
84
|
+
assertEquals(EnumSet.allOf(CardScheme.class), Fidel.supportedCardSchemes);
|
|
85
|
+
assertNull(Fidel.metaData);
|
|
86
|
+
assertNull(Fidel.privacyPolicyUrl);
|
|
87
|
+
assertNull(Fidel.termsAndConditionsUrl);
|
|
88
|
+
assertNull(Fidel.programName);
|
|
89
|
+
assertNull(Fidel.deleteInstructions);
|
|
90
|
+
assertEquals(ProgramType.TRANSACTION_SELECT, Fidel.programType);
|
|
91
|
+
assertFalse(Fidel.thirdPartyVerificationChoice);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@Test
|
|
95
|
+
public void test_WhenDataHasNoSdkKey_DoNotSetThisPropertyForFidel() {
|
|
96
|
+
String expectedSdkKey = "some sdk key";
|
|
97
|
+
Fidel.sdkKey = expectedSdkKey;
|
|
98
|
+
sut.process(ReadableMapStub.withoutKey(FidelSetupProperties.SDK_KEY));
|
|
99
|
+
assertEquals(expectedSdkKey, Fidel.sdkKey);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@Test
|
|
103
|
+
public void test_WhenDataHasNoProgramIDKey_DoNotSetThisPropertyForFidel() {
|
|
104
|
+
String expectedProgramId = "some program id";
|
|
105
|
+
Fidel.programId = expectedProgramId;
|
|
106
|
+
sut.process(ReadableMapStub.withoutKey(FidelSetupProperties.PROGRAM_ID));
|
|
107
|
+
assertEquals(expectedProgramId, Fidel.programId);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@Test
|
|
111
|
+
public void test_WhenDataHasNoValueForSdkKey_DoNotSetThisPropertyForFidel() {
|
|
112
|
+
sut.process(ReadableMapStub.withNullValueForKey(FidelSetupProperties.SDK_KEY));
|
|
113
|
+
assertNull(Fidel.sdkKey);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@Test
|
|
117
|
+
public void test_WhenDataHasNoValueForProgramIDKey_DoNotSetThisPropertyForFidel() {
|
|
118
|
+
sut.process(ReadableMapStub.withNullValueForKey(FidelSetupProperties.PROGRAM_ID));
|
|
119
|
+
assertNull(Fidel.programId);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@Test
|
|
123
|
+
public void test_WhenDataHasEmptyValueForSdkKey_ShouldSetEmptyValueForThisPropertyForFidel() {
|
|
124
|
+
sut.process(ReadableMapStub.withEmptyValueForKey(FidelSetupProperties.SDK_KEY));
|
|
125
|
+
assertNotNull(Fidel.sdkKey);
|
|
126
|
+
assertTrue(Fidel.sdkKey.isEmpty());
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@Test
|
|
130
|
+
public void test_WhenDataHasEmptyValueForProgramId_ShouldSetEmptyValueForThisPropertyForFidel() {
|
|
131
|
+
sut.process(ReadableMapStub.withEmptyValueForKey(FidelSetupProperties.PROGRAM_ID));
|
|
132
|
+
assertNotNull(Fidel.programId);
|
|
133
|
+
assertTrue(Fidel.programId.isEmpty());
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@Test
|
|
137
|
+
public void test_WhenApiKeyIsSet_SetItToSDK() {
|
|
138
|
+
ReadableMapStub readableMap = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
139
|
+
readableMap.putString(FidelSetupProperties.SDK_KEY.jsName(), TEST_SDK_KEY);
|
|
140
|
+
sut.process(readableMap);
|
|
141
|
+
assertEquals(TEST_SDK_KEY, Fidel.sdkKey);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@Test
|
|
145
|
+
public void test_WhenProgramIDIsSet_SetItToSDK() {
|
|
146
|
+
ReadableMapStub readableMap = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
147
|
+
readableMap.putString(FidelSetupProperties.PROGRAM_ID.jsName(), TEST_PROGRAM_ID);
|
|
148
|
+
sut.process(readableMap);
|
|
149
|
+
assertEquals(TEST_PROGRAM_ID, Fidel.programId);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@Test
|
|
153
|
+
public void test_WhenDataHasNoOptionsKey_DoNotSetBannerImageForFidel() {
|
|
154
|
+
sut.process(ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS));
|
|
155
|
+
assertNull(Fidel.bannerImage);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
@Test
|
|
159
|
+
public void test_WhenDataHasNoOptionsKey_DoNotTryToProcessBannerImageInformationWithTheImageAdapter() {
|
|
160
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
161
|
+
sut.process(map);
|
|
162
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
163
|
+
assertFalse(imageAdapterSpy.hasAskedToProcessData);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
@Test
|
|
167
|
+
public void test_IfDoesNotHaveBannerImageKey_DoNotTryProcessingItWithTheImageAdapter() {
|
|
168
|
+
sut.process(ReadableMapStub.withoutOptionsKey(FidelSetupProperties.Options.BANNER_IMAGE));
|
|
169
|
+
assertFalse(imageAdapterSpy.hasAskedToProcessData);
|
|
170
|
+
assertNull(imageAdapterSpy.dataToProcess);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@Test
|
|
174
|
+
public void test_IfHasBannerImageKeyButNoImage_ShouldSendDataToImageAdapterAnyways() {
|
|
175
|
+
ReadableMapStub map = ReadableMapStub.withNullValueForOptionKey(FidelSetupProperties.Options.BANNER_IMAGE);
|
|
176
|
+
sut.process(map);
|
|
177
|
+
assertTrue(imageAdapterSpy.hasAskedToProcessData);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@Test
|
|
181
|
+
public void test_WhenReceivingBannerImageReadableMap_SendItToImageProcessor() {
|
|
182
|
+
ReadableMapStub readableMap = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
183
|
+
sut.process(readableMap);
|
|
184
|
+
ReadableMapStub optionsMap = (ReadableMapStub) readableMap.getMap(FidelSetupProperties.OPTIONS.jsName());
|
|
185
|
+
assertNotNull(optionsMap);
|
|
186
|
+
assertEquals(optionsMap.mapsForKeysToReturn.get(FidelSetupProperties.Options.BANNER_IMAGE.jsName()),
|
|
187
|
+
imageAdapterSpy.dataToProcess);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
@Test
|
|
191
|
+
public void test_WhenImageProcessorSendsBitmap_SetItForSDKBannerImage() {
|
|
192
|
+
Bitmap newBitmap = Bitmap.createBitmap(100, 200, Bitmap.Config.ALPHA_8);
|
|
193
|
+
sut.output(newBitmap);
|
|
194
|
+
assertEquals(Fidel.bannerImage, newBitmap);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@Test
|
|
198
|
+
public void test_WhenImageProcessorSendsNull_SetNullSDKBannerImage() {
|
|
199
|
+
Fidel.bannerImage = Bitmap.createBitmap(100, 200, Bitmap.Config.ALPHA_8);
|
|
200
|
+
sut.output(null);
|
|
201
|
+
assertNull(Fidel.bannerImage);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@Test
|
|
205
|
+
public void test_WhenDataHasNoOptionsKey_DoNotSetAllowedCountriesForFidel() {
|
|
206
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
207
|
+
Fidel.allowedCountries = TEST_COUNTRIES;
|
|
208
|
+
sut.process(map);
|
|
209
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
210
|
+
assertEquals(TEST_COUNTRIES, Fidel.allowedCountries);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
@Test
|
|
214
|
+
public void test_WhenDataHasNoOptionsKey_DoNotTryToProcessCountriesWithTheCountryAdapter() {
|
|
215
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
216
|
+
sut.process(map);
|
|
217
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
218
|
+
assertFalse(countryAdapterStub.askedToParseAllowedCountries);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
@Test
|
|
222
|
+
public void test_IfDoesNotHaveAllowedCountriesKey_DoNotSetAllowedCountriesForFidel() {
|
|
223
|
+
Fidel.allowedCountries = TEST_COUNTRIES;
|
|
224
|
+
countryAdapterStub.countriesToReturn = EnumSet.allOf(Country.class);
|
|
225
|
+
sut.process(ReadableMapStub.withoutOptionsKey(FidelSetupProperties.Options.ALLOWED_COUNTRIES));
|
|
226
|
+
assertEquals(TEST_COUNTRIES, Fidel.allowedCountries);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
@Test
|
|
230
|
+
public void test_IfDoesHaveAllowedCountriesKey_ButNullValue_ShouldSetAdaptedCountriesForFidel() {
|
|
231
|
+
Fidel.allowedCountries = TEST_COUNTRIES;
|
|
232
|
+
countryAdapterStub.countriesToReturn = EnumSet.allOf(Country.class);
|
|
233
|
+
ReadableMapStub map = ReadableMapStub.withNullValueForOptionKey(FidelSetupProperties.Options.ALLOWED_COUNTRIES);
|
|
234
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
235
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
236
|
+
assertNotNull(optionsMap);
|
|
237
|
+
|
|
238
|
+
sut.process(map);
|
|
239
|
+
|
|
240
|
+
assertTrue(optionsMap.keyNamesAskedValueFor.contains(FidelSetupProperties.Options.ALLOWED_COUNTRIES.jsName()));
|
|
241
|
+
assertEquals(EnumSet.allOf(Country.class), Fidel.allowedCountries);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@Test
|
|
245
|
+
public void test_WhenAllowedCountriesAreSet_ConvertThemWithCountryAdapterForTheSDK() {
|
|
246
|
+
countryAdapterStub.countriesToReturn = TEST_COUNTRIES;
|
|
247
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
248
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
249
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
250
|
+
assertNotNull(optionsMap);
|
|
251
|
+
|
|
252
|
+
sut.process(map);
|
|
253
|
+
|
|
254
|
+
assertTrue(optionsMap.keyNamesAskedValueFor.contains(FidelSetupProperties.Options.ALLOWED_COUNTRIES.jsName()));
|
|
255
|
+
assertEquals(TEST_COUNTRIES, Fidel.allowedCountries);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@Test
|
|
259
|
+
public void test_WhenDataHasNoOptionsKey_DoNotSetDefaultSelectedCountryForFidel() {
|
|
260
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
261
|
+
Fidel.defaultSelectedCountry = Country.CANADA;
|
|
262
|
+
sut.process(map);
|
|
263
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
264
|
+
assertEquals(Country.CANADA, Fidel.defaultSelectedCountry);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
@Test
|
|
268
|
+
public void test_WhenDataHasNoOptionsKey_DoNotTryToProcessCountryWithTheCountryAdapter() {
|
|
269
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
270
|
+
sut.process(map);
|
|
271
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
272
|
+
assertNull(countryAdapterStub.countryJSValueReceived);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
@Test
|
|
276
|
+
public void test_IfDoesNotHaveDefaultSelectedCountryKey_DoNotSetDefaultSelectedCountryForFidel() {
|
|
277
|
+
Fidel.defaultSelectedCountry = Country.JAPAN;
|
|
278
|
+
countryAdapterStub.countriesToReturn = EnumSet.allOf(Country.class);
|
|
279
|
+
sut.process(ReadableMapStub.withoutOptionsKey(FidelSetupProperties.Options.DEFAULT_SELECTED_COUNTRY));
|
|
280
|
+
assertEquals(Country.JAPAN, Fidel.defaultSelectedCountry);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
@Test
|
|
284
|
+
public void test_IfDoesHaveDefaultSelectedCountryKey_ButNullValue_ShouldSetAdaptedCountriesForFidel() {
|
|
285
|
+
Fidel.defaultSelectedCountry = Country.UNITED_STATES;
|
|
286
|
+
countryAdapterStub.countryForJSValueToReturn = Country.IRELAND;
|
|
287
|
+
ReadableMapStub map = ReadableMapStub
|
|
288
|
+
.withNullValueForOptionKey(FidelSetupProperties.Options.DEFAULT_SELECTED_COUNTRY);
|
|
289
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
290
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
291
|
+
assertNotNull(optionsMap);
|
|
292
|
+
|
|
293
|
+
sut.process(map);
|
|
294
|
+
|
|
295
|
+
assertTrue(optionsMap.keyNamesAskedValueFor
|
|
296
|
+
.contains(FidelSetupProperties.Options.DEFAULT_SELECTED_COUNTRY.jsName()));
|
|
297
|
+
assertEquals(Country.IRELAND, Fidel.defaultSelectedCountry);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@Test
|
|
301
|
+
public void test_WhenDefaultSelectedCountryIsSet_ConvertItWithCountryAdapterForTheSDK() {
|
|
302
|
+
countryAdapterStub.countryForJSValueToReturn = Country.SWEDEN;
|
|
303
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
304
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
305
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
306
|
+
assertNotNull(optionsMap);
|
|
307
|
+
|
|
308
|
+
sut.process(map);
|
|
309
|
+
|
|
310
|
+
assertTrue(optionsMap.keyNamesAskedValueFor
|
|
311
|
+
.contains(FidelSetupProperties.Options.DEFAULT_SELECTED_COUNTRY.jsName()));
|
|
312
|
+
assertEquals(Country.SWEDEN, Fidel.defaultSelectedCountry);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
@Test
|
|
316
|
+
public void test_WhenDataHasNoOptionsKey_DoNotSetSupportedCardSchemesForFidel() {
|
|
317
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
318
|
+
Fidel.supportedCardSchemes = TEST_CARD_SCHEMES_SET;
|
|
319
|
+
sut.process(map);
|
|
320
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
321
|
+
assertEquals(TEST_CARD_SCHEMES_SET, Fidel.supportedCardSchemes);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
@Test
|
|
325
|
+
public void test_WhenDataHasNoOptionsKey_DoNotTryToProcessCardSchemesWithTheCardSchemesAdapter() {
|
|
326
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
327
|
+
sut.process(map);
|
|
328
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
329
|
+
assertFalse(cardSchemesAdapterStub.askedToAdaptCardSchemes);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
@Test
|
|
333
|
+
public void test_IfDoesNotHaveSupportedCardSchemesKey_DoNotSetSupportedCardSchemesForFidel() {
|
|
334
|
+
Fidel.supportedCardSchemes = TEST_CARD_SCHEMES_SET;
|
|
335
|
+
cardSchemesAdapterStub.fakeAdaptedCardSchemesToReturn = EnumSet.allOf(CardScheme.class);
|
|
336
|
+
sut.process(ReadableMapStub.withoutOptionsKey(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES));
|
|
337
|
+
assertEquals(TEST_CARD_SCHEMES_SET, Fidel.supportedCardSchemes);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
@Test
|
|
341
|
+
public void test_IfDoesHaveSupportedCardSchemesKey_ButNullValue_ShouldSetAdaptedCardSchemesForFidel() {
|
|
342
|
+
Fidel.supportedCardSchemes = TEST_CARD_SCHEMES_SET;
|
|
343
|
+
cardSchemesAdapterStub.fakeAdaptedCardSchemesToReturn = EnumSet.allOf(CardScheme.class);
|
|
344
|
+
ReadableMapStub map = ReadableMapStub
|
|
345
|
+
.withNullValueForOptionKey(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES);
|
|
346
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
347
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
348
|
+
assertNotNull(optionsMap);
|
|
349
|
+
|
|
350
|
+
sut.process(map);
|
|
351
|
+
|
|
352
|
+
assertTrue(optionsMap.keyNamesAskedValueFor
|
|
353
|
+
.contains(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES.jsName()));
|
|
354
|
+
assertEquals(EnumSet.allOf(CardScheme.class), Fidel.supportedCardSchemes);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
@Test
|
|
358
|
+
public void test_WhenCardSchemesAreSet_ConvertThemWithCardSchemesAdapterForTheSDK() {
|
|
359
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
360
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
361
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
362
|
+
assertNotNull(optionsMap);
|
|
363
|
+
ReadableArrayStub readableCardSchemesArray = new ReadableArrayStub(1, new String[] { "visa" });
|
|
364
|
+
optionsMap.readableArraysToReturn.put(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES.jsName(),
|
|
365
|
+
readableCardSchemesArray);
|
|
366
|
+
cardSchemesAdapterStub.fakeAdaptedCardSchemesToReturn = EnumSet.noneOf(CardScheme.class);
|
|
367
|
+
|
|
368
|
+
sut.process(map);
|
|
369
|
+
|
|
370
|
+
assertEquals(readableCardSchemesArray, cardSchemesAdapterStub.cardSchemesReceived);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
@Test
|
|
374
|
+
public void test_WhenCardSchemesAreSet_SetThemForTheSDK() {
|
|
375
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
376
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
377
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
378
|
+
assertNotNull(optionsMap);
|
|
379
|
+
ReadableArrayStub readableCardSchemesArray = new ReadableArrayStub(1, new String[] { "visa" });
|
|
380
|
+
optionsMap.readableArraysToReturn.put(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES.jsName(),
|
|
381
|
+
readableCardSchemesArray);
|
|
382
|
+
|
|
383
|
+
cardSchemesAdapterStub.fakeAdaptedCardSchemesToReturn = TEST_CARD_SCHEMES_SET;
|
|
384
|
+
|
|
385
|
+
sut.process(map);
|
|
386
|
+
|
|
387
|
+
assertEquals(TEST_CARD_SCHEMES_SET, Fidel.supportedCardSchemes);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
@Test
|
|
391
|
+
public void test_WhenDataHasNoOptionsKey_DoNotSetMetadataPropertyForFidel() throws JSONException {
|
|
392
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.OPTIONS);
|
|
393
|
+
JSONObject testMetaData = new JSONObject("{\"some_code\":123 }");
|
|
394
|
+
Fidel.metaData = testMetaData;
|
|
395
|
+
sut.process(map);
|
|
396
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
397
|
+
assertEquals(Fidel.metaData, testMetaData);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
@Test
|
|
401
|
+
public void test_IfDoesNotHaveMetadataKey_DoNotSetThisPropertyForFidel() throws JSONException {
|
|
402
|
+
ReadableMapStub map = ReadableMapStub.withoutOptionsKey(FidelSetupProperties.Options.META_DATA);
|
|
403
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
404
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
405
|
+
assertNotNull(optionsMap);
|
|
406
|
+
|
|
407
|
+
JSONObject testMetaData = new JSONObject("{\"some_code\":123 }");
|
|
408
|
+
Fidel.metaData = testMetaData;
|
|
409
|
+
sut.process(map);
|
|
410
|
+
|
|
411
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
412
|
+
assertTrue(optionsMap.keyNamesCheckedFor.contains(FidelSetupProperties.Options.META_DATA.jsName()));
|
|
413
|
+
assertFalse(optionsMap.keyNamesAskedValueFor.contains(FidelSetupProperties.Options.META_DATA.jsName()));
|
|
414
|
+
assertEquals(Fidel.metaData, testMetaData);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
@Test
|
|
418
|
+
public void test_IfDoesHaveMetadataKey_ButWithNullValue_ShouldNullMetaDataValueForFidel() throws JSONException {
|
|
419
|
+
ReadableMapStub map = ReadableMapStub.withNullValueForOptionKey(FidelSetupProperties.Options.META_DATA);
|
|
420
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
421
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
422
|
+
assertNotNull(optionsMap);
|
|
423
|
+
|
|
424
|
+
Fidel.metaData = new JSONObject("{\"some_code\":123 }");
|
|
425
|
+
sut.process(map);
|
|
426
|
+
|
|
427
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
428
|
+
assertTrue(optionsMap.keyNamesCheckedFor.contains(FidelSetupProperties.Options.META_DATA.jsName()));
|
|
429
|
+
assertTrue(optionsMap.keyNamesAskedValueFor.contains(FidelSetupProperties.Options.META_DATA.jsName()));
|
|
430
|
+
assertNull(Fidel.metaData);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
@Test
|
|
434
|
+
public void test_WhenMetaDataValueIsSet_ConvertItToJSONForTheSDK() {
|
|
435
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
436
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
437
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
438
|
+
assertNotNull(optionsMap);
|
|
439
|
+
optionsMap.mapsForKeysToReturn.put(FidelSetupProperties.Options.META_DATA.jsName(), TEST_META_DATA());
|
|
440
|
+
|
|
441
|
+
sut.process(map);
|
|
442
|
+
|
|
443
|
+
assertNotNull(Fidel.metaData);
|
|
444
|
+
assertMapEqualsWithJSONObject(TEST_HASH_MAP(), Fidel.metaData);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
@Test
|
|
448
|
+
public void test_WhenDataHasNoConsentTextKey_DoNotSetCompanyNameForFidel() {
|
|
449
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.CONSENT_TEXT);
|
|
450
|
+
String fakeCompanyName = "some test, fake company name";
|
|
451
|
+
Fidel.companyName = fakeCompanyName;
|
|
452
|
+
sut.process(map);
|
|
453
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
454
|
+
assertEquals(fakeCompanyName, Fidel.companyName);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
@Test
|
|
458
|
+
public void test_IfDoesNotHaveCompanyNameKey_DoNotSetThisPropertyForFidel() {
|
|
459
|
+
ReadableMapStub map = ReadableMapStub.withoutConsentTextKey(FidelSetupProperties.ConsentText.COMPANY_NAME);
|
|
460
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
461
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
462
|
+
assertNotNull(consentTextMap);
|
|
463
|
+
|
|
464
|
+
String fakeCompanyName = "some test, company name";
|
|
465
|
+
Fidel.companyName = fakeCompanyName;
|
|
466
|
+
sut.process(map);
|
|
467
|
+
|
|
468
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
469
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
470
|
+
assertFalse(
|
|
471
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
472
|
+
assertEquals(fakeCompanyName, Fidel.companyName);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
@Test
|
|
476
|
+
public void test_IfDoesHaveCompanyNameKey_ButWithNullValue_ShouldSetNullCompanyNameForFidel() {
|
|
477
|
+
ReadableMapStub map = ReadableMapStub
|
|
478
|
+
.withNullValueForConsentTextKey(FidelSetupProperties.ConsentText.COMPANY_NAME);
|
|
479
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
480
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
481
|
+
assertNotNull(consentTextMap);
|
|
482
|
+
|
|
483
|
+
Fidel.companyName = "some test, fake company";
|
|
484
|
+
sut.process(map);
|
|
485
|
+
|
|
486
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
487
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
488
|
+
assertTrue(
|
|
489
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
490
|
+
assertNull(Fidel.companyName);
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
@Test
|
|
494
|
+
public void test_IfDoesHaveCompanyNameKeyAndValue_ShouldSetTheValueForFidel() {
|
|
495
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
496
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
497
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
498
|
+
assertNotNull(consentTextMap);
|
|
499
|
+
String expectedCompanyName = "some company name";
|
|
500
|
+
consentTextMap.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName(),
|
|
501
|
+
expectedCompanyName);
|
|
502
|
+
|
|
503
|
+
Fidel.companyName = "previous fake company name";
|
|
504
|
+
sut.process(map);
|
|
505
|
+
|
|
506
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
507
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
508
|
+
assertTrue(
|
|
509
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName()));
|
|
510
|
+
assertEquals(expectedCompanyName, Fidel.companyName);
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
@Test
|
|
514
|
+
public void test_WhenDataHasNoConsentTextKey_DoNotSetTermsAndConditionsUrlForFidel() {
|
|
515
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.CONSENT_TEXT);
|
|
516
|
+
String fakeTermsAndConditionsUrl = "some test, fake terms and conditions";
|
|
517
|
+
Fidel.termsAndConditionsUrl = fakeTermsAndConditionsUrl;
|
|
518
|
+
sut.process(map);
|
|
519
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
520
|
+
assertEquals(fakeTermsAndConditionsUrl, Fidel.termsAndConditionsUrl);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
@Test
|
|
524
|
+
public void test_IfDoesNotHaveTermsAndConditionsUrlKey_DoNotSetThisPropertyForFidel() {
|
|
525
|
+
ReadableMapStub map = ReadableMapStub
|
|
526
|
+
.withoutConsentTextKey(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL);
|
|
527
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
528
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
529
|
+
assertNotNull(consentTextMap);
|
|
530
|
+
|
|
531
|
+
String fakeTermsAndConditionsUrl = "some test, fake terms and conditions";
|
|
532
|
+
Fidel.termsAndConditionsUrl = fakeTermsAndConditionsUrl;
|
|
533
|
+
sut.process(map);
|
|
534
|
+
|
|
535
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
536
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
537
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
538
|
+
assertFalse(consentTextMap.keyNamesAskedValueFor
|
|
539
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
540
|
+
assertEquals(fakeTermsAndConditionsUrl, Fidel.termsAndConditionsUrl);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
@Test
|
|
544
|
+
public void test_IfDoesHaveTermsAndConditionsUrlKey_ButWithNullValue_ShouldSetNullTermsAndConditionsUrlForFidel() {
|
|
545
|
+
ReadableMapStub map = ReadableMapStub
|
|
546
|
+
.withNullValueForConsentTextKey(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL);
|
|
547
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
548
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
549
|
+
assertNotNull(consentTextMap);
|
|
550
|
+
|
|
551
|
+
Fidel.termsAndConditionsUrl = "some test, fake terms and conditions";
|
|
552
|
+
sut.process(map);
|
|
553
|
+
|
|
554
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
555
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
556
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
557
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
558
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
559
|
+
assertNull(Fidel.termsAndConditionsUrl);
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
@Test
|
|
563
|
+
public void test_IfDoesHaveTermsAndConditionsUrlKeyAndValue_ShouldSetTheValueForFidel() {
|
|
564
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
565
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
566
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
567
|
+
assertNotNull(consentTextMap);
|
|
568
|
+
String expectedTermsAndConditions = "some terms and conditions url";
|
|
569
|
+
consentTextMap.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName(),
|
|
570
|
+
expectedTermsAndConditions);
|
|
571
|
+
|
|
572
|
+
Fidel.termsAndConditionsUrl = "previous fake terms and conditions url";
|
|
573
|
+
sut.process(map);
|
|
574
|
+
|
|
575
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
576
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
577
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
578
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
579
|
+
.contains(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName()));
|
|
580
|
+
assertEquals(expectedTermsAndConditions, Fidel.termsAndConditionsUrl);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
@Test
|
|
584
|
+
public void test_WhenDataHasNoConsentTextKey_DoNotSetPrivacyPolicyUrlForFidel() {
|
|
585
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.CONSENT_TEXT);
|
|
586
|
+
String fakePrivacyPolicyUrl = "some test, fake url";
|
|
587
|
+
Fidel.privacyPolicyUrl = fakePrivacyPolicyUrl;
|
|
588
|
+
sut.process(map);
|
|
589
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
590
|
+
assertEquals(fakePrivacyPolicyUrl, Fidel.privacyPolicyUrl);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
@Test
|
|
594
|
+
public void test_IfDoesNotHavePrivacyPolicyUrlKey_DoNotSetThisPropertyForFidel() {
|
|
595
|
+
ReadableMapStub map = ReadableMapStub
|
|
596
|
+
.withoutConsentTextKey(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL);
|
|
597
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
598
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
599
|
+
assertNotNull(consentTextMap);
|
|
600
|
+
|
|
601
|
+
String fakePrivacyPolicyUrl = "some test, fake url";
|
|
602
|
+
Fidel.privacyPolicyUrl = fakePrivacyPolicyUrl;
|
|
603
|
+
sut.process(map);
|
|
604
|
+
|
|
605
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
606
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
607
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
608
|
+
assertFalse(consentTextMap.keyNamesAskedValueFor
|
|
609
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
610
|
+
assertEquals(fakePrivacyPolicyUrl, Fidel.privacyPolicyUrl);
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
@Test
|
|
614
|
+
public void test_IfDoesHavePrivacyPolicyUrlKey_ButWithNullValue_ShouldSetNullPrivacyPolicyUrlForFidel() {
|
|
615
|
+
ReadableMapStub map = ReadableMapStub
|
|
616
|
+
.withNullValueForConsentTextKey(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL);
|
|
617
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
618
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
619
|
+
assertNotNull(consentTextMap);
|
|
620
|
+
|
|
621
|
+
Fidel.privacyPolicyUrl = "some test, fake url";
|
|
622
|
+
sut.process(map);
|
|
623
|
+
|
|
624
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
625
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
626
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
627
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
628
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
629
|
+
assertNull(Fidel.privacyPolicyUrl);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
@Test
|
|
633
|
+
public void test_IfDoesHavePrivacyPolicyUrlKeyAndValue_ShouldSetTheValueForFidel() {
|
|
634
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
635
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
636
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
637
|
+
assertNotNull(consentTextMap);
|
|
638
|
+
String expectedTermsAndConditions = "some test url";
|
|
639
|
+
consentTextMap.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName(),
|
|
640
|
+
expectedTermsAndConditions);
|
|
641
|
+
|
|
642
|
+
Fidel.privacyPolicyUrl = "previous fake url";
|
|
643
|
+
sut.process(map);
|
|
644
|
+
|
|
645
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
646
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
647
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
648
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
649
|
+
.contains(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName()));
|
|
650
|
+
assertEquals(expectedTermsAndConditions, Fidel.privacyPolicyUrl);
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
@Test
|
|
654
|
+
public void test_WhenDataHasNoConsentTextKey_DoNotSetProgramNameForFidel() {
|
|
655
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.CONSENT_TEXT);
|
|
656
|
+
String expectedValue = "some previously set value";
|
|
657
|
+
Fidel.programName = expectedValue;
|
|
658
|
+
sut.process(map);
|
|
659
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
660
|
+
assertEquals(expectedValue, Fidel.programName);
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
@Test
|
|
664
|
+
public void test_IfDoesNotHaveProgramNameKey_DoNotSetThisPropertyForFidel() {
|
|
665
|
+
ReadableMapStub map = ReadableMapStub.withoutConsentTextKey(FidelSetupProperties.ConsentText.PROGRAM_NAME);
|
|
666
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
667
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
668
|
+
assertNotNull(consentTextMap);
|
|
669
|
+
|
|
670
|
+
String expectedValue = "some previously set value";
|
|
671
|
+
Fidel.programName = expectedValue;
|
|
672
|
+
sut.process(map);
|
|
673
|
+
|
|
674
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
675
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
676
|
+
assertFalse(
|
|
677
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
678
|
+
assertEquals(expectedValue, Fidel.programName);
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
@Test
|
|
682
|
+
public void test_IfDoesHaveProgramNameKey_ButWithNullValue_ShouldSetNullProgramNameForFidel() {
|
|
683
|
+
ReadableMapStub map = ReadableMapStub
|
|
684
|
+
.withNullValueForConsentTextKey(FidelSetupProperties.ConsentText.PROGRAM_NAME);
|
|
685
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
686
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
687
|
+
assertNotNull(consentTextMap);
|
|
688
|
+
|
|
689
|
+
Fidel.programName = "some previously set value";
|
|
690
|
+
sut.process(map);
|
|
691
|
+
|
|
692
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
693
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
694
|
+
assertTrue(
|
|
695
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
696
|
+
assertNull(Fidel.programName);
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
@Test
|
|
700
|
+
public void test_IfDoesHaveProgramNameKeyAndValue_ShouldSetTheValueForFidel() {
|
|
701
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
702
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
703
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
704
|
+
assertNotNull(consentTextMap);
|
|
705
|
+
String expectedValue = "some program name";
|
|
706
|
+
consentTextMap.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName(), expectedValue);
|
|
707
|
+
|
|
708
|
+
Fidel.programName = "some previously set value";
|
|
709
|
+
sut.process(map);
|
|
710
|
+
|
|
711
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
712
|
+
assertTrue(consentTextMap.keyNamesCheckedFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
713
|
+
assertTrue(
|
|
714
|
+
consentTextMap.keyNamesAskedValueFor.contains(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName()));
|
|
715
|
+
assertEquals(expectedValue, Fidel.programName);
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
@Test
|
|
719
|
+
public void test_WhenDataHasNoConsentTextKey_DoNotSetDeleteInstructionsForFidel() {
|
|
720
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.CONSENT_TEXT);
|
|
721
|
+
String expectedValue = "some previously set value";
|
|
722
|
+
Fidel.deleteInstructions = expectedValue;
|
|
723
|
+
sut.process(map);
|
|
724
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
725
|
+
assertEquals(expectedValue, Fidel.deleteInstructions);
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
@Test
|
|
729
|
+
public void test_IfDoesNotHaveDeleteInstructionsKey_DoNotSetThisPropertyForFidel() {
|
|
730
|
+
ReadableMapStub map = ReadableMapStub
|
|
731
|
+
.withoutConsentTextKey(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS);
|
|
732
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
733
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
734
|
+
assertNotNull(consentTextMap);
|
|
735
|
+
|
|
736
|
+
String expectedValue = "some previously set value";
|
|
737
|
+
Fidel.deleteInstructions = expectedValue;
|
|
738
|
+
sut.process(map);
|
|
739
|
+
|
|
740
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
741
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
742
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
743
|
+
assertFalse(consentTextMap.keyNamesAskedValueFor
|
|
744
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
745
|
+
assertEquals(expectedValue, Fidel.deleteInstructions);
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
@Test
|
|
749
|
+
public void test_IfDoesHaveDeleteInstructionsKey_ButWithNullValue_ShouldSetNullDeleteInstructionsForFidel() {
|
|
750
|
+
ReadableMapStub map = ReadableMapStub
|
|
751
|
+
.withNullValueForConsentTextKey(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS);
|
|
752
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
753
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
754
|
+
assertNotNull(consentTextMap);
|
|
755
|
+
|
|
756
|
+
Fidel.deleteInstructions = "some previously set value";
|
|
757
|
+
sut.process(map);
|
|
758
|
+
|
|
759
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
760
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
761
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
762
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
763
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
764
|
+
assertNull(Fidel.deleteInstructions);
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
@Test
|
|
768
|
+
public void test_IfDoesHaveDeleteInstructionsKeyAndValue_ShouldSetTheValueForFidel() {
|
|
769
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
770
|
+
ReadableMapStub consentTextMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
771
|
+
.get(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
772
|
+
assertNotNull(consentTextMap);
|
|
773
|
+
String expectedValue = "some delete instructions";
|
|
774
|
+
consentTextMap.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName(),
|
|
775
|
+
expectedValue);
|
|
776
|
+
|
|
777
|
+
Fidel.deleteInstructions = "some previously set value";
|
|
778
|
+
sut.process(map);
|
|
779
|
+
|
|
780
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.CONSENT_TEXT.jsName()));
|
|
781
|
+
assertTrue(consentTextMap.keyNamesCheckedFor
|
|
782
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
783
|
+
assertTrue(consentTextMap.keyNamesAskedValueFor
|
|
784
|
+
.contains(FidelSetupProperties.ConsentText.DELETE_INSTRUCTIONS.jsName()));
|
|
785
|
+
assertEquals(expectedValue, Fidel.deleteInstructions);
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
@Test
|
|
789
|
+
public void test_IfDoesNotHaveProgramTypeKey_ShouldNotSetTheProgramTypeForFidel() {
|
|
790
|
+
ReadableMapStub map = ReadableMapStub.withoutKey(FidelSetupProperties.PROGRAM_TYPE);
|
|
791
|
+
|
|
792
|
+
Fidel.programType = ProgramType.TRANSACTION_STREAM;
|
|
793
|
+
programTypeAdapterStub.programTypeToReturn = ProgramType.TRANSACTION_SELECT;
|
|
794
|
+
sut.process(map);
|
|
795
|
+
|
|
796
|
+
assertTrue(map.keyNamesCheckedFor.contains(FidelSetupProperties.PROGRAM_TYPE.jsName()));
|
|
797
|
+
assertFalse(map.keyNamesAskedValueFor.contains(FidelSetupProperties.PROGRAM_TYPE.jsName()));
|
|
798
|
+
assertNull(programTypeAdapterStub.receivedProgramTypeString);
|
|
799
|
+
assertEquals(ProgramType.TRANSACTION_STREAM, Fidel.programType);
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
@Test
|
|
803
|
+
public void test_IfDoesHaveProgramTypeKey_ShouldSetTheValueProvidedByTheProgramTypeAdapter() {
|
|
804
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
805
|
+
String testProgramTypeValue = "program type value";
|
|
806
|
+
map.stringForKeyToReturn.put(FidelSetupProperties.PROGRAM_TYPE.jsName(), testProgramTypeValue);
|
|
807
|
+
|
|
808
|
+
Fidel.programType = ProgramType.TRANSACTION_SELECT;
|
|
809
|
+
programTypeAdapterStub.programTypeToReturn = ProgramType.TRANSACTION_STREAM;
|
|
810
|
+
sut.process(map);
|
|
811
|
+
|
|
812
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.PROGRAM_TYPE.jsName()));
|
|
813
|
+
assertEquals(testProgramTypeValue, programTypeAdapterStub.receivedProgramTypeString);
|
|
814
|
+
assertEquals(ProgramType.TRANSACTION_STREAM, Fidel.programType);
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
@Test
|
|
818
|
+
public void test_WhenThirdPartyVerificationChoiceIsTrue_ShouldBeSetToTrueForTheSDK() {
|
|
819
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
820
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
821
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
822
|
+
assertNotNull(optionsMap);
|
|
823
|
+
optionsMap.boolToReturn = true;
|
|
824
|
+
|
|
825
|
+
sut.process(map);
|
|
826
|
+
|
|
827
|
+
assertTrue(Fidel.thirdPartyVerificationChoice);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
@Test
|
|
831
|
+
public void test_ThirdPartyVerificationChoiceIsFalse_ShouldBeSetToFalseForTheSDK() {
|
|
832
|
+
ReadableMapStub map = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
833
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
834
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
835
|
+
assertNotNull(optionsMap);
|
|
836
|
+
optionsMap.boolToReturn = false;
|
|
837
|
+
|
|
838
|
+
sut.process(map);
|
|
839
|
+
|
|
840
|
+
assertFalse(Fidel.thirdPartyVerificationChoice);
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
@Test
|
|
844
|
+
public void test_IfDoesNotHaveThirdPartyVerificationChoiceKey_DoNotSetThisPropertyForFidel() {
|
|
845
|
+
ReadableMapStub map = ReadableMapStub
|
|
846
|
+
.withoutOptionsKey(FidelSetupProperties.Options.THIRD_PARTY_VERIFICATION_CHOICE);
|
|
847
|
+
ReadableMapStub optionsMap = (ReadableMapStub) map.mapsForKeysToReturn
|
|
848
|
+
.get(FidelSetupProperties.OPTIONS.jsName());
|
|
849
|
+
assertNotNull(optionsMap);
|
|
850
|
+
|
|
851
|
+
Fidel.thirdPartyVerificationChoice = true;
|
|
852
|
+
sut.process(map);
|
|
853
|
+
|
|
854
|
+
assertTrue(map.keyNamesAskedValueFor.contains(FidelSetupProperties.OPTIONS.jsName()));
|
|
855
|
+
assertTrue(optionsMap.keyNamesCheckedFor
|
|
856
|
+
.contains(FidelSetupProperties.Options.THIRD_PARTY_VERIFICATION_CHOICE.jsName()));
|
|
857
|
+
assertFalse(optionsMap.keyNamesAskedValueFor
|
|
858
|
+
.contains(FidelSetupProperties.Options.THIRD_PARTY_VERIFICATION_CHOICE.jsName()));
|
|
859
|
+
assertTrue(Fidel.thirdPartyVerificationChoice);
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
// Exposed constants tests
|
|
863
|
+
|
|
864
|
+
@Test
|
|
865
|
+
public void test_WhenAskedForConstants_IncludeConstantsFromCardSchemesAdapter() {
|
|
866
|
+
Map<String, Object> actualConstants = sut.getConstants();
|
|
867
|
+
Map<String, Object> expectedConstants = cardSchemesAdapterStub.getConstants();
|
|
868
|
+
assertMapContainsMap(actualConstants, expectedConstants);
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
@Test
|
|
872
|
+
public void test_WhenAskedForConstants_IncludeConstantsFromCountriesAdapter() {
|
|
873
|
+
Map<String, Object> actualConstants = sut.getConstants();
|
|
874
|
+
Map<String, Object> expectedConstants = countryAdapterStub.getConstants();
|
|
875
|
+
assertMapContainsMap(actualConstants, expectedConstants);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
@Test
|
|
879
|
+
public void test_WhenAskedForConstants_IncludeConstantsFromProgramTypeAdapter() {
|
|
880
|
+
Map<String, Object> actualConstants = sut.getConstants();
|
|
881
|
+
Map<String, Object> expectedConstants = programTypeAdapterStub.getConstants();
|
|
882
|
+
assertMapContainsMap(actualConstants, expectedConstants);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
// Helper functions
|
|
886
|
+
|
|
887
|
+
private static HashMap<String, Object> TEST_HASH_MAP() {
|
|
888
|
+
HashMap<String, Object> hashmapToReturn = new HashMap<>();
|
|
889
|
+
hashmapToReturn.put("stringKey", "StringVal");
|
|
890
|
+
hashmapToReturn.put("intKey", 3);
|
|
891
|
+
hashmapToReturn.put("doubleKey", 4.5);
|
|
892
|
+
return hashmapToReturn;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
private static ReadableMapStub TEST_META_DATA() {
|
|
896
|
+
ReadableMapStub map = new ReadableMapStub();
|
|
897
|
+
map.hashMapToReturn = TEST_HASH_MAP();
|
|
898
|
+
return map;
|
|
899
|
+
}
|
|
900
|
+
}
|