@@ -72,7 +72,7 @@ class SecureVaultManagerTests: XCTestCase {
7272
7373 func testWhenGettingExistingEntries_AndNoAutofillDataWasProvided_AndNoEntriesExist_ThenReturnValueIsNil( ) throws {
7474 let autofillData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: nil , creditCard: nil , trigger: nil )
75- let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData)
75+ let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData, backfilled : false )
7676
7777 XCTAssertNil ( entries. credentials)
7878 XCTAssertNil ( entries. identity)
@@ -83,7 +83,7 @@ class SecureVaultManagerTests: XCTestCase {
8383 let card = paymentMethod ( cardNumber: " 5555555555555557 " , cardholderName: " Name " , cvv: " 123 " , month: 1 , year: 2022 )
8484
8585 let autofillData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: nil , creditCard: card, trigger: nil )
86- let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData)
86+ let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData, backfilled : false )
8787
8888 XCTAssertNil ( entries. credentials)
8989 XCTAssertNil ( entries. identity)
@@ -96,7 +96,7 @@ class SecureVaultManagerTests: XCTestCase {
9696 try self . testVault. storeCreditCard ( card)
9797
9898 let autofillData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: nil , creditCard: card, trigger: nil )
99- let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData)
99+ let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData, backfilled : false )
100100
101101 XCTAssertNil ( entries. credentials)
102102 XCTAssertNil ( entries. identity)
@@ -107,7 +107,7 @@ class SecureVaultManagerTests: XCTestCase {
107107 let identity = identity ( name: ( " First " , " Middle " , " Last " ) , addressStreet: " Address Street " )
108108
109109 let autofillData = AutofillUserScript . DetectedAutofillData ( identity: identity, credentials: nil , creditCard: nil , trigger: nil )
110- let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData)
110+ let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData, backfilled : false )
111111
112112 XCTAssertNil ( entries. credentials)
113113 XCTAssertNil ( entries. creditCard)
@@ -120,7 +120,7 @@ class SecureVaultManagerTests: XCTestCase {
120120 try self . testVault. storeIdentity ( identity)
121121
122122 let autofillData = AutofillUserScript . DetectedAutofillData ( identity: identity, credentials: nil , creditCard: nil , trigger: nil )
123- let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData)
123+ let entries = try manager. existingEntries ( for: " domain.com " , autofillData: autofillData, backfilled : false )
124124
125125 XCTAssertNil ( entries. credentials)
126126 XCTAssertNil ( entries. identity)
@@ -548,7 +548,7 @@ class SecureVaultManagerTests: XCTestCase {
548548 // Autofill prompted data tests
549549 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: true ) 550550 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
551- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
551+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
552552 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 553553 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
554554
@@ -580,7 +580,7 @@ class SecureVaultManagerTests: XCTestCase {
580580
581581 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " QNKs6k4a-axYX@aRQW " , autogenerated
: true ) 582582 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
583- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
583+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
584584
585585 // Confirm autofill entries are present
586586 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) @@ -612,7 +612,7 @@ class SecureVaultManagerTests: XCTestCase {
612612 // Autofill prompted data tests
613613 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " QNKs6k212aYX@aRQW " , autogenerated
: true ) 614614 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
615- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
615+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
616616 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 617617 XCTAssertEqual ( entries? . credentials? . password, Data ( " QNKs6k212aYX@aRQW " . utf8) )
618618
@@ -639,7 +639,7 @@ class SecureVaultManagerTests: XCTestCase {
639639 // Autofill prompted data tests
640640 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: true ) 641641 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
642- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
642+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
643643 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 644644 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
645645
@@ -705,7 +705,7 @@ class SecureVaultManagerTests: XCTestCase {
705705 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: true ) 706706 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
707707
708- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
708+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
709709 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 710710 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
711711 }
@@ -731,7 +731,7 @@ class SecureVaultManagerTests: XCTestCase {
731731 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: true ) 732732 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
733733
734- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
734+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
735735 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 736736 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
737737
@@ -768,7 +768,7 @@ class SecureVaultManagerTests: XCTestCase {
768768 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: false ) 769769 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
770770
771- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
771+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
772772 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 773773 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
774774
@@ -843,7 +843,7 @@ class SecureVaultManagerTests: XCTestCase {
843843 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: false ) 844844 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
845845
846- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
846+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
847847 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 848848 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
849849
@@ -866,7 +866,7 @@ class SecureVaultManagerTests: XCTestCase {
866866 // Check stored
867867 incomingCredentials
= AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: false ) 868868 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
869- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
869+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
870870 XCTAssertEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 871871 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
872872
@@ -888,7 +888,7 @@ class SecureVaultManagerTests: XCTestCase {
888888 // Check stored
889889 incomingCredentials = AutofillUserScript . IncomingCredentials ( username: nil , password: " m4nu4lP4sswOrd " , autogenerated: false )
890890 incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
891- let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData)
891+ let entries = try ? manager. existingEntries ( for: " fill.dev " , autofillData: incomingData, backfilled : false )
892892 XCTAssertNotEqual ( entries
? . credentials
? . account
. username
, " [email protected] " ) 893893 XCTAssertEqual ( entries? . credentials? . password, Data ( " m4nu4lP4sswOrd " . utf8) )
894894
@@ -942,6 +942,27 @@ class SecureVaultManagerTests: XCTestCase {
942942 XCTAssertEqual ( secureVaultManagerDelegate. promptedAutofillData? . credentials? . account. id, String ( theID) )
943943 }
944944
945+ func testWhenFormSubmittedWithCompleteData_afterPartialSave_backfilledIsTrue( ) {
946+ // Check initial stored
947+ let partialCredentials = AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: nil , autogenerated
: false ) 948+ let partialData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: partialCredentials, creditCard: nil , trigger: . partialSave)
949+ manager. autofillUserScript ( mockAutofillUserScript, didRequestStoreDataForDomain: " fill.dev " , data: partialData)
950+
951+ let incomingCredentials = AutofillUserScript . IncomingCredentials ( username: nil , password: " m4nu4lP4sswOrd " , autogenerated: false )
952+ let incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
953+ manager. autofillUserScript ( mockAutofillUserScript, didRequestStoreDataForDomain: " fill.dev " , data: incomingData)
954+
955+ XCTAssertTrue ( secureVaultManagerDelegate. promptedAutofillData? . backfilled ?? false )
956+ }
957+
958+ func testWhenFormSubmittedWithCompleteData_withoutPartialSave_backfilledIsFalse( ) {
959+ let incomingCredentials = AutofillUserScript . IncomingCredentials ( username
: " [email protected] " , password
: " m4nu4lP4sswOrd " , autogenerated
: false ) 960+ let incomingData = AutofillUserScript . DetectedAutofillData ( identity: nil , credentials: incomingCredentials, creditCard: nil , trigger: . formSubmission)
961+ manager. autofillUserScript ( mockAutofillUserScript, didRequestStoreDataForDomain: " fill.dev " , data: incomingData)
962+
963+ XCTAssertFalse ( secureVaultManagerDelegate. promptedAutofillData? . backfilled ?? true )
964+ }
965+
945966 // MARK: - Test Utilities
946967
947968 private func identity( id: Int64 ? = nil , name: ( String , String , String ) , addressStreet: String ? ) -> SecureVaultModels . Identity {
0 commit comments