@NonNull @Override public Map<String, Object> toMap() { Map<String, Object> hashMap = new HashMap<>(); if (mAddress != null) { hashMap.put(FIELD_ADDRESS, mAddress.toMap()); } hashMap.put(FIELD_EMAIL, mEmail); hashMap.put(FIELD_NAME, mName); hashMap.put(FIELD_PHONE, mPhone); if (mVerifiedAddress != null) { hashMap.put(FIELD_VERIFIED_ADDRESS, mVerifiedAddress.toMap()); } hashMap.put(FIELD_VERIFIED_EMAIL, mVerifiedEmail); hashMap.put(FIELD_VERIFIED_NAME, mVerifiedName); hashMap.put(FIELD_VERIFIED_PHONE, mVerifiedPhone); removeNullAndEmptyParams(hashMap); return hashMap; }
@Test public void fromJsonString_toMap_createsExpectedMap() { assertMapEquals(EXAMPLE_MAP_ADDRESS, mAddress.toMap()); }
@Test public void builderConstructor_whenCalled_createsExpectedAddress() { Address address = new Address.Builder() .setCity("San Francisco") .setCountry("US") .setLine1("123 Market St") .setLine2("#345") .setPostalCode("94107") .setState("CA") .build(); assertMapEquals(address.toMap(), mAddress.toMap()); }
@Test public void createTokenSynchronous_withValidAccount_passesIntegrationTest() { try { final Address exampleAddress = new Address .Builder() .setCity("SF") .setCountry("US") .setState("CA").build(); final Map<String, Object> exampleLegalEntity = new HashMap<String, Object>() {{ put("personal_address", exampleAddress.toMap()); put("type", "individual"); put("ssn_last_4", "1234"); put("first_name", "Kathy"); put("last_name", "Sun"); }}; Stripe stripe = new Stripe(mContext, FUNCTIONAL_PUBLISHABLE_KEY); TestLoggingListener listener = new TestLoggingListener(true); stripe.setLoggingResponseListener(listener); Token token = stripe.createAccountTokenSynchronous( AccountParams.createAccountParams(true, exampleLegalEntity)); assertNotNull(token); assertEquals(Token.TYPE_ACCOUNT, token.getType()); assertFalse(token.getLivemode()); assertFalse(token.getUsed()); assertNotNull(token.getId()); assertAllLogsAreValid(listener, 2); } catch (StripeException stripeEx) { fail(stripeEx.getMessage()); } }