@Test public void createBancontactParams_toParamMap_createsExpectedMap() { final SourceParams params = SourceParams.createBancontactParams( 1000L, "Stripe", "return/url/3000", "descriptor", "en"); Map<String, Object> expectedMap = new HashMap<>(); expectedMap.put("type", Source.BANCONTACT); expectedMap.put("currency", Source.EURO); expectedMap.put("amount", 1000L); expectedMap.put("owner", new HashMap<String, Object>() {{ put("name", "Stripe"); }}); expectedMap.put("redirect", new HashMap<String, Object>() {{ put("return_url", "return/url/3000"); }}); expectedMap.put(Source.BANCONTACT, new HashMap<String, Object>() {{ put("statement_descriptor", "descriptor"); put("preferred_language", "en"); }}); JsonTestUtils.assertMapEquals(expectedMap, params.toParamMap()); }
@Test public void createBancontactParams_hasExpectedFields_optionalEverything() { final SourceParams params = SourceParams.createBancontactParams( 1000L, "Stripe", "return/url/3000", null, null); assertNull(params.getApiParameterMap()); }
@Test public void createBancontactParams_hasExpectedFields_optionalPreferredLanguage() { final SourceParams params = SourceParams.createBancontactParams( 1000L, "Stripe", "return/url/3000", "descriptor", null); Map<String, Object> apiMap = params.getApiParameterMap(); assertNotNull(apiMap); assertEquals("descriptor", apiMap.get("statement_descriptor")); assertNull(apiMap.get("preferred_language")); }
@Test public void createBancontactParams_hasExpectedFields_optionalStatementDescriptor() { final SourceParams params = SourceParams.createBancontactParams( 1000L, "Stripe", "return/url/3000", null, "en"); Map<String, Object> apiMap = params.getApiParameterMap(); assertNotNull(apiMap); assertNull(apiMap.get("statement_descriptor")); assertEquals("en", apiMap.get("preferred_language")); }
@Test public void createBancontactParams_hasExpectedFields() { final SourceParams params = SourceParams.createBancontactParams( 1000L, "Stripe", "return/url/3000", "descriptor", "en"); assertEquals(Source.BANCONTACT, params.getType()); assertEquals(Source.EURO, params.getCurrency()); assertNotNull(params.getAmount()); assertEquals(1000L, params.getAmount().longValue()); assertNotNull(params.getOwner()); assertEquals("Stripe", params.getOwner().get("name")); assertNotNull(params.getRedirect()); assertEquals("return/url/3000", params.getRedirect().get("return_url")); Map<String, Object> apiMap = params.getApiParameterMap(); assertNotNull(apiMap); assertEquals("descriptor", apiMap.get("statement_descriptor")); assertEquals("en", apiMap.get("preferred_language")); }
@Test public void createSourceSynchronous_withBancontactParams_passesIntegrationTest() { Stripe stripe = getNonLoggingStripe(mContext); SourceParams bancontactParams = SourceParams.createBancontactParams( 1000L, "John Doe",