Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java

Issue 2438343002: [Payments] Don't suggest profiles with no street address in PR. (Closed)
Patch Set: Added test Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java
index da46952d6519db5b6aab5908c77c5bea402ec7ab..8aba7413a2e7acea029a945f9b69d18493f04fc6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java
@@ -26,10 +26,10 @@ public class PaymentRequestDynamicShippingMultipleAddressesTest extends PaymentR
"Bart Simpson", "Acme Inc.", "123 Main", "California", "Los Angeles", "",
"90210", "", "US", "", "bart@simpson.com", ""),
- // Incomplete profile.
+ // Incomplete profile (missing street address).
new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
- "Homer Simpson", "Acme Inc.", "123 Main", "California", "Los Angeles", "",
- "90210", "", "US", "", "homer@simpson.com", ""),
+ "Homer Simpson", "Acme Inc.", "", "California", "Los Angeles", "",
+ "90210", "", "US", "555 123-4567", "homer@simpson.com", ""),
// Complete profile.
new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
@@ -44,7 +44,12 @@ public class PaymentRequestDynamicShippingMultipleAddressesTest extends PaymentR
// Incomplete profile.
new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
"Marge Simpson", "Acme Inc.", "123 Main", "California", "Los Angeles", "",
- "90210", "", "US", "", "marge@simpson.com", "")
+ "90210", "", "US", "", "marge@simpson.com", ""),
+
+ // Incomplete profile.
+ new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
+ "Professor Frink", "Acme Inc.", "123 Main", "California", "", "",
+ "90210", "", "US", "555 123-4567", "lisa@simpson.com", ""),
};
private AutofillProfile[] mProfilesToAdd;
@@ -82,11 +87,11 @@ public class PaymentRequestDynamicShippingMultipleAddressesTest extends PaymentR
@Feature({"Payments"})
public void testShippingAddressSuggestionOrdering()
throws InterruptedException, ExecutionException, TimeoutException {
- // Create a bunch of profiles, some complete, some incomplete. Values are set so that the
- // profiles are ordered by frecency.
+ // Create two complete and two incomplete profiles. Values are set so that the profiles are
+ // ordered by frecency.
mProfilesToAdd = new AutofillProfile[] {
- AUTOFILL_PROFILES[0], AUTOFILL_PROFILES[1], AUTOFILL_PROFILES[2],
- AUTOFILL_PROFILES[3], AUTOFILL_PROFILES[4]};
+ AUTOFILL_PROFILES[0], AUTOFILL_PROFILES[2], AUTOFILL_PROFILES[3],
+ AUTOFILL_PROFILES[4]};
mCountsToSet = new int[] {20, 15, 10, 5, 1};
mDatesToSet = new int[] {5000, 5000, 5000, 5000, 1};
@@ -96,7 +101,56 @@ public class PaymentRequestDynamicShippingMultipleAddressesTest extends PaymentR
assertTrue(getShippingAddressSuggestionLabel(0).contains("Lisa Simpson"));
assertTrue(getShippingAddressSuggestionLabel(1).contains("Maggie Simpson"));
assertTrue(getShippingAddressSuggestionLabel(2).contains("Bart Simpson"));
- assertTrue(getShippingAddressSuggestionLabel(3).contains("Homer Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(3).contains("Marge Simpson"));
+ }
+
+ /**
+ * Make sure that a maximum of four profiles are shown to the user.
+ */
+ @MediumTest
+ @Feature({"Payments"})
+ public void testShippingAddressSuggestionLimit()
+ throws InterruptedException, ExecutionException, TimeoutException {
+ // Create five profiles that can be suggested to the user.
+ mProfilesToAdd = new AutofillProfile[] {
+ AUTOFILL_PROFILES[0], AUTOFILL_PROFILES[2], AUTOFILL_PROFILES[3],
+ AUTOFILL_PROFILES[4], AUTOFILL_PROFILES[5]};
+ mCountsToSet = new int[] {20, 15, 10, 5, 2, 1};
+ mDatesToSet = new int[] {5000, 5000, 5000, 5000, 2, 1};
+
+ triggerUIAndWait(mReadyForInput);
+ clickInShippingSummaryAndWait(R.id.payments_section, mReadyForInput);
+ // Only four profiles should be suggested to the user.
+ assertEquals(4, getNumberOfShippingAddressSuggestions());
+ assertTrue(getShippingAddressSuggestionLabel(0).contains("Lisa Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(1).contains("Maggie Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(2).contains("Bart Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(3).contains("Marge Simpson"));
+ }
+
+ /**
+ * Make sure that only profiles with a street address are suggested to the user.
+ */
+ @MediumTest
+ @Feature({"Payments"})
+ public void testShippingAddressSuggestion_OnlyIncludeProfilesWithStreetAddress()
+ throws InterruptedException, ExecutionException, TimeoutException {
+ // Create two complete profiles and two incomplete profiles, one of which has no street
+ // address.
+ mProfilesToAdd = new AutofillProfile[] {
+ AUTOFILL_PROFILES[0], AUTOFILL_PROFILES[1], AUTOFILL_PROFILES[2],
+ AUTOFILL_PROFILES[3]};
+ mCountsToSet = new int[] {15, 10, 5, 1};
+ mDatesToSet = new int[] {5000, 5000, 5000, 1};
+
+ triggerUIAndWait(mReadyForInput);
+ clickInShippingSummaryAndWait(R.id.payments_section, mReadyForInput);
+ // Only 3 profiles should be suggested, the two complete ones and the incomplete one that
+ // has a street address.
+ assertEquals(3, getNumberOfShippingAddressSuggestions());
+ assertTrue(getShippingAddressSuggestionLabel(0).contains("Lisa Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(1).contains("Maggie Simpson"));
+ assertTrue(getShippingAddressSuggestionLabel(2).contains("Bart Simpson"));
}
/**
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698