11import FluentPasses
22import FluentWallet
33import Testing
4+ import XCTFluent
45
56import struct Foundation. UUID
67
78@Suite ( " FluentPasses Tests " )
89struct FluentPassesTests {
10+ let test = ArrayTestDatabase ( )
11+
912 @Test ( " Pass Concrete Model " )
1013 func pass( ) async throws {
14+ let migration = CreatePass ( )
15+ try await migration. prepare ( on: test. db)
16+
1117 let typeIdentifier = " Test Type Identifier "
1218 let authenticationToken = " Test Authentication Token "
1319 let personalization = Personalization ( )
1420 personalization. _$id. value = 1
1521
1622 let pass = Pass ( typeIdentifier: typeIdentifier, authenticationToken: authenticationToken)
1723 pass. $personalization. id = personalization. id!
24+ test. append ( [
25+ TestOutput ( pass)
26+ ] )
1827
19- #expect( pass. _$typeIdentifier. value == typeIdentifier)
20- #expect( pass. _$authenticationToken. value == authenticationToken)
21- #expect( pass. _$personalization. id == personalization. id)
28+ let fetchedPass = try #require( await Pass . query ( on: test. db) . first ( ) )
29+ #expect( fetchedPass. _$typeIdentifier. value == typeIdentifier)
30+ #expect( fetchedPass. _$authenticationToken. value == authenticationToken)
31+ #expect( fetchedPass. _$personalization. id == personalization. id)
32+
33+ try await migration. revert ( on: test. db)
2234 }
2335
2436 @Test ( " PassesRegistration Concrete Model " )
2537 func passesRegistration( ) async throws {
38+ let migration = CreatePassesRegistration ( )
39+ try await migration. prepare ( on: test. db)
40+
2641 let device = Device ( )
2742 device. _$id. value = 1
2843 let pass = Pass ( )
@@ -31,13 +46,22 @@ struct FluentPassesTests {
3146 let passesRegistration = PassesRegistration ( )
3247 passesRegistration. $device. id = device. id!
3348 passesRegistration. $pass. id = pass. id!
49+ test. append ( [
50+ TestOutput ( passesRegistration)
51+ ] )
3452
35- #expect( passesRegistration. _$device. id == device. id)
36- #expect( passesRegistration. _$pass. id == pass. id)
53+ let fetchedPassesRegistration = try #require( await PassesRegistration . query ( on: test. db) . first ( ) )
54+ #expect( fetchedPassesRegistration. _$device. id == device. id)
55+ #expect( fetchedPassesRegistration. _$pass. id == pass. id)
56+
57+ try await migration. revert ( on: test. db)
3758 }
3859
3960 @Test ( " Personalization Concrete Model " )
4061 func personalization( ) async throws {
62+ let migration = CreatePersonalization ( )
63+ try await migration. prepare ( on: test. db)
64+
4165 let fullName = " Test Name "
4266 let givenName = String ( fullName. prefix ( 4 ) )
4367 let familyName = String ( fullName. suffix ( 4 ) )
@@ -54,14 +78,20 @@ struct FluentPassesTests {
5478 personalization. postalCode = postalCode
5579 personalization. isoCountryCode = isoCountryCode
5680 personalization. phoneNumber = phoneNumber
81+ test. append ( [
82+ TestOutput ( personalization)
83+ ] )
84+
85+ let fetchedPersonalization = try #require( await Personalization . query ( on: test. db) . first ( ) )
86+ #expect( fetchedPersonalization. _$fullName. value == fullName)
87+ #expect( fetchedPersonalization. _$givenName. value == givenName)
88+ #expect( fetchedPersonalization. _$familyName. value == familyName)
89+ #expect( fetchedPersonalization. _$emailAddress. value == emailAddress)
90+ #expect( fetchedPersonalization. _$postalCode. value == postalCode)
91+ #expect( fetchedPersonalization. _$isoCountryCode. value == isoCountryCode)
92+ #expect( fetchedPersonalization. _$phoneNumber. value == phoneNumber)
5793
58- #expect( personalization. _$fullName. value == fullName)
59- #expect( personalization. _$givenName. value == givenName)
60- #expect( personalization. _$familyName. value == familyName)
61- #expect( personalization. _$emailAddress. value == emailAddress)
62- #expect( personalization. _$postalCode. value == postalCode)
63- #expect( personalization. _$isoCountryCode. value == isoCountryCode)
64- #expect( personalization. _$phoneNumber. value == phoneNumber)
94+ try await migration. revert ( on: test. db)
6595 }
6696
6797 @Test ( " PersonalizationJSON initialization " )
0 commit comments