@sphereon/ssi-sdk.data-store 0.30.1-unstable.4 → 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +77 -77
  3. package/dist/contact/ContactStore.d.ts.map +1 -1
  4. package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
  5. package/dist/eventLogger/EventLoggerStore.d.ts.map +1 -1
  6. package/dist/issuanceBranding/IssuanceBrandingStore.d.ts.map +1 -1
  7. package/dist/migrations/internal-migrations-ormconfig.d.ts.map +1 -1
  8. package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +33 -33
  9. package/dist/migrations/postgres/1708797018115-CreateMachineStateStore.js +16 -16
  10. package/dist/migrations/postgres/1715761125001-CreateContacts.js +33 -33
  11. package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.js +12 -12
  12. package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +32 -32
  13. package/dist/migrations/sqlite/1708796002272-CreateMachineStateStore.js +15 -15
  14. package/dist/migrations/sqlite/1710438363002-CreateContacts.js +13 -13
  15. package/dist/migrations/sqlite/1715761125002-CreateContacts.js +32 -32
  16. package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.js +9 -9
  17. package/dist/presentationDefinition/PDStore.d.ts.map +1 -1
  18. package/dist/utils/SortingUtils.d.ts.map +1 -1
  19. package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
  20. package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
  21. package/dist/utils/digitalCredential/MappingUtils.js +4 -4
  22. package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
  23. package/dist/utils/presentationDefinition/MappingUtils.js +2 -2
  24. package/dist/utils/presentationDefinition/MappingUtils.js.map +1 -1
  25. package/package.json +8 -8
  26. package/src/__tests__/contact.entities.test.ts +2642 -2642
  27. package/src/__tests__/contact.store.test.ts +2649 -2649
  28. package/src/__tests__/digitalCredential.entities.test.ts +274 -274
  29. package/src/__tests__/digitalCredential.store.test.ts +330 -330
  30. package/src/__tests__/eventLogger.entities.test.ts +76 -76
  31. package/src/__tests__/eventLogger.store.test.ts +130 -130
  32. package/src/__tests__/issuanceBranding.entities.test.ts +846 -846
  33. package/src/__tests__/issuanceBranding.store.test.ts +1886 -1886
  34. package/src/__tests__/machineState.entities.test.ts +53 -53
  35. package/src/__tests__/machineState.store.test.ts +176 -176
  36. package/src/__tests__/pd-manager.entities.test.ts +73 -73
  37. package/src/__tests__/pd-manager.store.test.ts +193 -193
  38. package/src/contact/AbstractContactStore.ts +71 -71
  39. package/src/contact/ContactStore.ts +768 -768
  40. package/src/digitalCredential/AbstractDigitalCredentialStore.ts +21 -21
  41. package/src/digitalCredential/DigitalCredentialStore.ts +189 -189
  42. package/src/entities/contact/BaseContactEntity.ts +51 -51
  43. package/src/entities/contact/ConnectionEntity.ts +35 -35
  44. package/src/entities/contact/ContactMetadataItemEntity.ts +51 -51
  45. package/src/entities/contact/CorrelationIdentifierEntity.ts +43 -43
  46. package/src/entities/contact/DidAuthConfigEntity.ts +20 -20
  47. package/src/entities/contact/ElectronicAddressEntity.ts +70 -70
  48. package/src/entities/contact/IdentityEntity.ts +107 -107
  49. package/src/entities/contact/IdentityMetadataItemEntity.ts +48 -48
  50. package/src/entities/contact/NaturalPersonEntity.ts +44 -44
  51. package/src/entities/contact/OpenIdConfigEntity.ts +32 -32
  52. package/src/entities/contact/OrganizationEntity.ts +35 -35
  53. package/src/entities/contact/PartyEntity.ts +117 -117
  54. package/src/entities/contact/PartyRelationshipEntity.ts +68 -68
  55. package/src/entities/contact/PartyTypeEntity.ts +63 -63
  56. package/src/entities/contact/PhysicalAddressEntity.ts +95 -95
  57. package/src/entities/digitalCredential/DigitalCredentialEntity.ts +98 -98
  58. package/src/entities/eventLogger/AuditEventEntity.ts +92 -92
  59. package/src/entities/issuanceBranding/BackgroundAttributesEntity.ts +42 -42
  60. package/src/entities/issuanceBranding/BaseLocaleBrandingEntity.ts +87 -87
  61. package/src/entities/issuanceBranding/CredentialBrandingEntity.ts +79 -79
  62. package/src/entities/issuanceBranding/CredentialLocaleBrandingEntity.ts +33 -33
  63. package/src/entities/issuanceBranding/ImageAttributesEntity.ts +57 -57
  64. package/src/entities/issuanceBranding/ImageDimensionsEntity.ts +22 -22
  65. package/src/entities/issuanceBranding/IssuerBrandingEntity.ts +73 -73
  66. package/src/entities/issuanceBranding/IssuerLocaleBrandingEntity.ts +33 -33
  67. package/src/entities/issuanceBranding/TextAttributesEntity.ts +31 -31
  68. package/src/entities/machineState/MachineStateInfoEntity.ts +59 -59
  69. package/src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts +44 -44
  70. package/src/entities/statusList2021/StatusList2021Entity.ts +96 -96
  71. package/src/entities/statusList2021/StatusList2021EntryEntity.ts +29 -29
  72. package/src/eventLogger/AbstractEventLoggerStore.ts +7 -7
  73. package/src/eventLogger/EventLoggerStore.ts +62 -62
  74. package/src/index.ts +160 -160
  75. package/src/issuanceBranding/IssuanceBrandingStore.ts +559 -559
  76. package/src/machineState/IAbstractMachineStateStore.ts +65 -65
  77. package/src/machineState/MachineStateStore.ts +149 -149
  78. package/src/migrations/generic/1-CreateContacts.ts +66 -66
  79. package/src/migrations/generic/10-CreatePresentationDefinitions.ts +66 -66
  80. package/src/migrations/generic/2-CreateIssuanceBranding.ts +64 -64
  81. package/src/migrations/generic/3-CreateContacts.ts +66 -66
  82. package/src/migrations/generic/4-CreateStatusList.ts +54 -54
  83. package/src/migrations/generic/5-CreateAuditEvents.ts +66 -66
  84. package/src/migrations/generic/6-CreateDigitalCredential.ts +66 -66
  85. package/src/migrations/generic/7-CreateMachineStateStore.ts +66 -66
  86. package/src/migrations/generic/8-CreateContacts.ts +66 -66
  87. package/src/migrations/generic/9-CreateContacts.ts +66 -66
  88. package/src/migrations/generic/index.ts +43 -43
  89. package/src/migrations/index.ts +10 -10
  90. package/src/migrations/postgres/1659463079428-CreateContacts.ts +63 -63
  91. package/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts +85 -85
  92. package/src/migrations/postgres/1690925872592-CreateContacts.ts +158 -158
  93. package/src/migrations/postgres/1693866470001-CreateStatusList.ts +24 -24
  94. package/src/migrations/postgres/1701634812183-CreateAuditEvents.ts +33 -33
  95. package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +61 -61
  96. package/src/migrations/postgres/1708797018115-CreateMachineStateStore.ts +29 -29
  97. package/src/migrations/postgres/1710438363001-CreateContacts.ts +63 -63
  98. package/src/migrations/postgres/1715761125001-CreateContacts.ts +60 -60
  99. package/src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts +25 -25
  100. package/src/migrations/sqlite/1659463069549-CreateContacts.ts +110 -110
  101. package/src/migrations/sqlite/1685628973231-CreateIssuanceBranding.ts +119 -119
  102. package/src/migrations/sqlite/1690925872693-CreateContacts.ts +228 -228
  103. package/src/migrations/sqlite/1693866470000-CreateStatusList.ts +24 -24
  104. package/src/migrations/sqlite/1701634819487-CreateAuditEvents.ts +15 -15
  105. package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +46 -46
  106. package/src/migrations/sqlite/1708796002272-CreateMachineStateStore.ts +28 -28
  107. package/src/migrations/sqlite/1710438363002-CreateContacts.ts +83 -83
  108. package/src/migrations/sqlite/1715761125002-CreateContacts.ts +59 -59
  109. package/src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts +24 -24
  110. package/src/presentationDefinition/AbstractPDStore.ts +20 -20
  111. package/src/presentationDefinition/PDStore.ts +185 -185
  112. package/src/statusList/IStatusListStore.ts +44 -44
  113. package/src/statusList/StatusListStore.ts +236 -236
  114. package/src/types/contact/IAbstractContactStore.ts +161 -161
  115. package/src/types/contact/contact.ts +295 -295
  116. package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +42 -42
  117. package/src/types/digitalCredential/digitalCredential.ts +102 -102
  118. package/src/types/eventLogger/IAbstractEventLoggerStore.ts +12 -12
  119. package/src/types/eventLogger/eventLogger.ts +3 -3
  120. package/src/types/index.ts +14 -14
  121. package/src/types/machineState/IAbstractMachineStateStore.ts +68 -68
  122. package/src/types/presentationDefinition/IAbstractPDStore.ts +25 -25
  123. package/src/types/presentationDefinition/presentationDefinition.ts +17 -17
  124. package/src/utils/SortingUtils.ts +16 -16
  125. package/src/utils/contact/MappingUtils.ts +506 -506
  126. package/src/utils/digitalCredential/MappingUtils.ts +160 -160
  127. package/src/utils/hasher.ts +19 -19
  128. package/src/utils/presentationDefinition/MappingUtils.ts +52 -52
  129. package/dist/entities/contact/IMetadataEntity.d.ts +0 -8
  130. package/dist/entities/contact/IMetadataEntity.d.ts.map +0 -1
  131. package/dist/entities/contact/IMetadataEntity.js +0 -2
  132. package/dist/entities/contact/IMetadataEntity.js.map +0 -1
  133. package/dist/migrations/generic/8-CreatePresentationDefinitions.d.ts +0 -7
  134. package/dist/migrations/generic/8-CreatePresentationDefinitions.d.ts.map +0 -1
  135. package/dist/migrations/generic/8-CreatePresentationDefinitions.js +0 -78
  136. package/dist/migrations/generic/8-CreatePresentationDefinitions.js.map +0 -1
@@ -1,846 +1,846 @@
1
- import { DataSources } from '@sphereon/ssi-sdk.agent-config'
2
- import { DataSource, Repository } from 'typeorm'
3
- import { DataStoreMigrations } from '../migrations'
4
- import {
5
- IBasicCredentialBranding,
6
- IBasicIssuerBranding,
7
- CredentialBrandingEntity,
8
- credentialBrandingEntityFrom,
9
- DataStoreIssuanceBrandingEntities,
10
- issuerBrandingEntityFrom,
11
- credentialLocaleBrandingEntityFrom,
12
- CredentialLocaleBrandingEntity,
13
- issuerLocaleBrandingEntityFrom,
14
- IssuerLocaleBrandingEntity,
15
- IBasicCredentialLocaleBranding,
16
- IBasicIssuerLocaleBranding,
17
- IssuerBrandingEntity,
18
- } from '../index'
19
-
20
- describe('Database entities tests', (): void => {
21
- let dbConnection: DataSource
22
-
23
- beforeEach(async (): Promise<void> => {
24
- DataSources.singleInstance().defaultDbType = 'sqlite'
25
- dbConnection = await new DataSource({
26
- type: 'sqlite',
27
- database: ':memory:',
28
- //logging: ['info'],
29
- migrationsRun: false,
30
- migrations: DataStoreMigrations,
31
- synchronize: false,
32
- entities: DataStoreIssuanceBrandingEntities,
33
- }).initialize()
34
- await dbConnection.runMigrations()
35
- expect(await dbConnection.showMigrations()).toBeFalsy()
36
- })
37
-
38
- afterEach(async (): Promise<void> => {
39
- await (await dbConnection).destroy()
40
- })
41
-
42
- // Credential tests
43
-
44
- it('Should save credential branding to database', async (): Promise<void> => {
45
- const credentialBranding: IBasicCredentialBranding = {
46
- issuerCorrelationId: 'issuerCorrelationId',
47
- vcHash: 'vcHash',
48
- localeBranding: [
49
- {
50
- alias: 'credentialTypeAlias',
51
- locale: 'en-US',
52
- logo: {
53
- uri: 'data:image/jpeg;base64,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',
54
- mediaType: 'image/jpeg',
55
- alt: 'Sphereon logo',
56
- dimensions: {
57
- width: 200,
58
- height: 200,
59
- },
60
- },
61
- description: 'Sphereon credential branding',
62
- background: {
63
- color: '#7C1010',
64
- image: {
65
- uri: 'data:image/png;base64,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',
66
- alt: 'Sphereon background',
67
- mediaType: 'image/png',
68
- dimensions: {
69
- width: 262,
70
- height: 116,
71
- },
72
- },
73
- },
74
- text: {
75
- color: '#000000',
76
- },
77
- },
78
- ],
79
- }
80
-
81
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
82
- const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
83
-
84
- expect(fromDb).toBeDefined()
85
- expect(fromDb?.id).toBeDefined()
86
- expect(fromDb?.issuerCorrelationId).toEqual(credentialBranding.issuerCorrelationId)
87
- expect(fromDb?.vcHash).toEqual(credentialBranding.vcHash)
88
- expect(fromDb?.localeBranding).toBeDefined()
89
- expect(fromDb?.localeBranding.length).toEqual(1)
90
- expect(fromDb?.localeBranding[0].alias).toEqual(credentialBranding.localeBranding[0].alias)
91
- expect(fromDb?.localeBranding[0].locale).toEqual(credentialBranding.localeBranding[0].locale)
92
- expect(fromDb?.localeBranding[0].description).toEqual(credentialBranding.localeBranding[0].description)
93
- expect(fromDb?.localeBranding[0].logo).toBeDefined()
94
- expect(fromDb?.localeBranding[0].logo!.uri).toEqual(credentialBranding.localeBranding[0].logo!.uri)
95
- expect(fromDb?.localeBranding[0].logo!.alt).toEqual(credentialBranding.localeBranding[0].logo!.alt)
96
- expect(fromDb?.localeBranding[0].logo!.mediaType).toEqual(credentialBranding.localeBranding[0].logo!.mediaType)
97
- expect(fromDb?.localeBranding[0].logo!.dimensions).toBeDefined()
98
- expect(fromDb?.localeBranding[0].logo!.dimensions!.width).toEqual(credentialBranding.localeBranding[0].logo!.dimensions!.width)
99
- expect(fromDb?.localeBranding[0].logo!.dimensions!.height).toEqual(credentialBranding.localeBranding[0].logo!.dimensions!.height)
100
- expect(fromDb?.localeBranding[0].background).toBeDefined()
101
- expect(fromDb?.localeBranding[0].background!.color).toEqual(credentialBranding.localeBranding[0].background!.color)
102
- expect(fromDb?.localeBranding[0].background!.image).toBeDefined()
103
- expect(fromDb?.localeBranding[0].background!.image!.uri).toEqual(credentialBranding.localeBranding[0].background!.image!.uri)
104
- expect(fromDb?.localeBranding[0].background!.image!.alt).toEqual(credentialBranding.localeBranding[0].background!.image!.alt)
105
- expect(fromDb?.localeBranding[0].background!.image!.mediaType).toEqual(credentialBranding.localeBranding[0].background!.image!.mediaType)
106
- expect(fromDb?.localeBranding[0].background!.image!.dimensions).toBeDefined()
107
- expect(fromDb?.localeBranding[0].background!.image!.dimensions!.width).toEqual(
108
- credentialBranding.localeBranding[0].background!.image!.dimensions!.width,
109
- )
110
- expect(fromDb?.localeBranding[0].background!.image!.dimensions!.height).toEqual(
111
- credentialBranding.localeBranding[0].background!.image!.dimensions!.height,
112
- )
113
- expect(fromDb?.localeBranding[0].text).toBeDefined()
114
- expect(fromDb?.localeBranding[0].text!.color).toEqual(credentialBranding.localeBranding[0].text!.color)
115
- expect(fromDb?.createdAt).toBeDefined()
116
- expect(fromDb?.lastUpdatedAt).toBeDefined()
117
- })
118
-
119
- it('Should enforce unique vcHash for a credential branding', async (): Promise<void> => {
120
- const vcHash = 'vcHash'
121
- const credentialBranding1: IBasicCredentialBranding = {
122
- issuerCorrelationId: 'issuerCorrelationId',
123
- vcHash,
124
- localeBranding: [
125
- {
126
- alias: 'credentialTypeAlias',
127
- locale: 'en-US',
128
- },
129
- ],
130
- }
131
- const credentialBrandingEntity1: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding1)
132
- const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
133
- await repository.save(credentialBrandingEntity1)
134
-
135
- const credentialBranding2: IBasicCredentialBranding = {
136
- issuerCorrelationId: 'issuerCorrelationId',
137
- vcHash,
138
- localeBranding: [
139
- {
140
- alias: 'credentialTypeAlias',
141
- locale: 'en-US',
142
- },
143
- ],
144
- }
145
- const credentialBrandingEntity2: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding2)
146
-
147
- await expect(repository.save(credentialBrandingEntity2)).rejects.toThrowError(
148
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: CredentialBranding.vcHash',
149
- )
150
- })
151
-
152
- it('should throw error when saving credential branding with blank vcHash', async (): Promise<void> => {
153
- const credentialBranding: IBasicCredentialBranding = {
154
- issuerCorrelationId: 'issuerCorrelationId',
155
- vcHash: '',
156
- localeBranding: [
157
- {
158
- alias: 'credentialTypeAlias',
159
- locale: 'en-US',
160
- },
161
- ],
162
- }
163
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
164
-
165
- await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
166
- 'Blank vcHashes are not allowed',
167
- )
168
- })
169
-
170
- it('should throw error when saving credential branding with blank issuerCorrelationId', async (): Promise<void> => {
171
- const credentialBranding: IBasicCredentialBranding = {
172
- issuerCorrelationId: '',
173
- vcHash: 'vcHash',
174
- localeBranding: [
175
- {
176
- alias: 'credentialTypeAlias',
177
- locale: 'en-US',
178
- },
179
- ],
180
- }
181
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
182
-
183
- await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
184
- 'Blank issuerCorrelationIds are not allowed',
185
- )
186
- })
187
-
188
- it('Should throw error when saving credential branding to database without branding', async (): Promise<void> => {
189
- const credentialBranding: IBasicCredentialBranding = {
190
- issuerCorrelationId: 'issuerCorrelationId',
191
- vcHash: 'vcHash',
192
- localeBranding: [],
193
- }
194
-
195
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
196
- await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrow(
197
- 'localeBranding cannot be empty',
198
- )
199
- })
200
-
201
- it('Should save credential branding with multiple locales to database', async (): Promise<void> => {
202
- const credentialBranding: IBasicCredentialBranding = {
203
- issuerCorrelationId: 'issuerCorrelationId',
204
- vcHash: 'vcHash',
205
- localeBranding: [
206
- {
207
- alias: 'credentialTypeAlias1',
208
- locale: 'en-US',
209
- },
210
- {
211
- alias: 'credentialTypeAlias2',
212
- locale: 'en-GB',
213
- },
214
- {
215
- alias: 'credentialTypeAlias3',
216
- },
217
- ],
218
- }
219
-
220
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
221
- const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
222
-
223
- expect(fromDb).toBeDefined()
224
- expect(fromDb?.localeBranding).toBeDefined()
225
- expect(fromDb?.localeBranding.length).toEqual(3)
226
- })
227
-
228
- it('Should enforce unique locale for a credential branding', async (): Promise<void> => {
229
- const credentialBranding: IBasicCredentialBranding = {
230
- issuerCorrelationId: 'issuerCorrelationId',
231
- vcHash: 'vcHash',
232
- localeBranding: [
233
- {
234
- alias: 'credentialTypeAlias1',
235
- locale: 'en-US',
236
- },
237
- {
238
- alias: 'credentialTypeAlias2',
239
- locale: 'en-US',
240
- },
241
- ],
242
- }
243
-
244
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
245
-
246
- await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
247
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.credentialBrandingId, BaseLocaleBranding.locale',
248
- )
249
- })
250
-
251
- it('Should enforce unique null locale for a credential branding', async (): Promise<void> => {
252
- const credentialBranding: IBasicCredentialBranding = {
253
- issuerCorrelationId: 'issuerCorrelationId',
254
- vcHash: 'vcHash',
255
- localeBranding: [
256
- {
257
- alias: 'credentialTypeAlias1',
258
- },
259
- {
260
- alias: 'credentialTypeAlias2',
261
- },
262
- ],
263
- }
264
-
265
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
266
-
267
- await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
268
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.credentialBrandingId, BaseLocaleBranding.locale',
269
- )
270
- })
271
-
272
- it('Should save credential locale branding to database', async (): Promise<void> => {
273
- const localeBranding: IBasicCredentialLocaleBranding = {
274
- alias: 'credentialAlias',
275
- locale: 'en-US',
276
- logo: {
277
- uri: 'data:image/jpeg;base64,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',
278
- mediaType: 'image/jpeg',
279
- alt: 'Sphereon logo',
280
- dimensions: {
281
- width: 200,
282
- height: 200,
283
- },
284
- },
285
- description: 'Sphereon issuer branding',
286
- background: {
287
- color: '#7C1010',
288
- image: {
289
- uri: 'data:image/png;base64,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',
290
- alt: 'Sphereon background',
291
- mediaType: 'image/png',
292
- dimensions: {
293
- width: 262,
294
- height: 116,
295
- },
296
- },
297
- },
298
- text: {
299
- color: '#000000',
300
- },
301
- }
302
-
303
- const credentialLocaleBrandingEntity: CredentialLocaleBrandingEntity = credentialLocaleBrandingEntityFrom(localeBranding)
304
- const fromDb: CredentialLocaleBrandingEntity = await dbConnection
305
- .getRepository(CredentialLocaleBrandingEntity)
306
- .save(credentialLocaleBrandingEntity)
307
-
308
- expect(fromDb).toBeDefined()
309
- expect(fromDb?.alias).toEqual(localeBranding.alias)
310
- expect(fromDb?.locale).toEqual(localeBranding.locale)
311
- expect(fromDb?.description).toEqual(localeBranding.description)
312
- expect(fromDb?.logo).toBeDefined()
313
- expect(fromDb?.logo!.uri).toEqual(localeBranding.logo!.uri)
314
- expect(fromDb?.logo!.alt).toEqual(localeBranding.logo!.alt)
315
- expect(fromDb?.logo!.mediaType).toEqual(localeBranding.logo!.mediaType)
316
- expect(fromDb?.logo!.dimensions).toBeDefined()
317
- expect(fromDb?.logo!.dimensions!.width).toEqual(localeBranding.logo!.dimensions!.width)
318
- expect(fromDb?.logo!.dimensions!.height).toEqual(localeBranding.logo!.dimensions!.height)
319
- expect(fromDb?.background).toBeDefined()
320
- expect(fromDb?.background!.color).toEqual(localeBranding.background!.color)
321
- expect(fromDb?.background!.image).toBeDefined()
322
- expect(fromDb?.background!.image!.uri).toEqual(localeBranding.background!.image!.uri)
323
- expect(fromDb?.background!.image!.alt).toEqual(localeBranding.background!.image!.alt)
324
- expect(fromDb?.background!.image!.mediaType).toEqual(localeBranding.background!.image!.mediaType)
325
- expect(fromDb?.background!.image!.dimensions).toBeDefined()
326
- expect(fromDb?.background!.image!.dimensions!.width).toEqual(localeBranding.background!.image!.dimensions!.width)
327
- expect(fromDb?.background!.image!.dimensions!.height).toEqual(localeBranding.background!.image!.dimensions!.height)
328
- expect(fromDb?.text).toBeDefined()
329
- expect(fromDb?.text!.color).toEqual(localeBranding.text!.color)
330
- })
331
-
332
- it('Should set creation date when saving credential locale branding', async (): Promise<void> => {
333
- const localeBranding: IBasicCredentialLocaleBranding = {
334
- alias: 'credentialAlias',
335
- locale: 'en-US',
336
- }
337
-
338
- const credentialLocaleBrandingEntity: CredentialLocaleBrandingEntity = credentialLocaleBrandingEntityFrom(localeBranding)
339
- const repository: Repository<CredentialLocaleBrandingEntity> = await dbConnection.getRepository(CredentialLocaleBrandingEntity)
340
- const fromDb: CredentialLocaleBrandingEntity = await repository.save(credentialLocaleBrandingEntity)
341
- expect(fromDb).toBeDefined()
342
-
343
- const result: CredentialLocaleBrandingEntity | null = await repository.findOne({ where: { id: fromDb.id } })
344
-
345
- expect(result).toBeDefined()
346
- expect(result?.createdAt).toBeDefined()
347
- })
348
-
349
- it('Should delete credential branding', async (): Promise<void> => {
350
- const credentialBranding: IBasicCredentialBranding = {
351
- issuerCorrelationId: 'issuerCorrelationId',
352
- vcHash: 'vcHash',
353
- localeBranding: [
354
- {
355
- alias: 'credentialTypeAlias',
356
- locale: 'en-US',
357
- },
358
- ],
359
- }
360
-
361
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
362
- const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
363
- const fromDb: CredentialBrandingEntity = await repository.save(credentialBrandingEntity)
364
- expect(fromDb).toBeDefined()
365
-
366
- await repository.delete({ id: fromDb.id })
367
-
368
- await expect(
369
- await repository.findOne({
370
- where: { id: fromDb.id },
371
- }),
372
- ).toBeNull()
373
- })
374
-
375
- it('Should delete credential locale branding', async (): Promise<void> => {
376
- const credentialBranding: IBasicCredentialBranding = {
377
- issuerCorrelationId: 'issuerCorrelationId',
378
- vcHash: 'vcHash',
379
- localeBranding: [
380
- {
381
- alias: 'issuerAlias',
382
- locale: 'en-US',
383
- },
384
- ],
385
- }
386
-
387
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
388
- const credentialBrandingRepository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
389
- const fromDb: CredentialBrandingEntity = await credentialBrandingRepository.save(credentialBrandingEntity)
390
- expect(fromDb).toBeDefined()
391
-
392
- const localeBrandingRepository: Repository<CredentialLocaleBrandingEntity> = await dbConnection.getRepository(CredentialLocaleBrandingEntity)
393
- await localeBrandingRepository.delete({ id: fromDb.localeBranding[0].id })
394
-
395
- await expect(
396
- await localeBrandingRepository.findOne({
397
- where: { id: fromDb.id },
398
- }),
399
- ).toBeNull()
400
-
401
- const result: CredentialBrandingEntity | null = await credentialBrandingRepository.findOne({ where: { id: fromDb.id } })
402
- expect(result?.localeBranding.length).toEqual(0)
403
- })
404
-
405
- it('Should update last updated date when updating credential branding', async (): Promise<void> => {
406
- const credentialBranding: IBasicCredentialBranding = {
407
- issuerCorrelationId: 'issuerCorrelationId',
408
- vcHash: 'vcHash',
409
- localeBranding: [
410
- {
411
- alias: 'credentialTypeAlias',
412
- locale: 'en-US',
413
- },
414
- ],
415
- }
416
-
417
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
418
- const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
419
- const fromDb: CredentialBrandingEntity = await repository.save(credentialBrandingEntity)
420
- expect(fromDb).toBeDefined()
421
-
422
- const updatedCredentialBranding = {
423
- ...fromDb,
424
- vcHash: 'newVcHash',
425
- }
426
-
427
- const result: CredentialBrandingEntity = await repository.save(updatedCredentialBranding)
428
-
429
- expect(result).toBeDefined()
430
- expect(result?.lastUpdatedAt).not.toEqual(fromDb?.lastUpdatedAt)
431
- })
432
-
433
- it('Should update last updated date when updating credential locale branding', async (): Promise<void> => {
434
- const credentialBranding: IBasicCredentialBranding = {
435
- issuerCorrelationId: 'issuerCorrelationId',
436
- vcHash: 'vcHash',
437
- localeBranding: [
438
- {
439
- alias: 'credentialTypeAlias',
440
- locale: 'en-US',
441
- },
442
- ],
443
- }
444
-
445
- const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
446
- const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
447
- expect(fromDb).toBeDefined()
448
- expect(fromDb?.localeBranding.length).toEqual(1)
449
-
450
- const updatedCredentialLocaleBranding = {
451
- ...fromDb.localeBranding[0],
452
- alias: 'newCredentialTypeAlias',
453
- }
454
-
455
- const result: CredentialLocaleBrandingEntity = await dbConnection
456
- .getRepository(CredentialLocaleBrandingEntity)
457
- .save(updatedCredentialLocaleBranding)
458
-
459
- expect(result).toBeDefined()
460
- expect(result?.lastUpdatedAt).not.toEqual(fromDb?.localeBranding[0].lastUpdatedAt)
461
- })
462
-
463
- // Issuer tests
464
-
465
- it('Should save issuer branding to database', async (): Promise<void> => {
466
- const issuerBranding: IBasicIssuerBranding = {
467
- issuerCorrelationId: 'issuerCorrelationId',
468
- localeBranding: [
469
- {
470
- alias: 'issuerAlias',
471
- locale: 'en-US',
472
- logo: {
473
- uri: 'data:image/jpeg;base64,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',
474
- mediaType: 'image/jpeg',
475
- alt: 'Sphereon logo',
476
- dimensions: {
477
- width: 200,
478
- height: 200,
479
- },
480
- },
481
- description: 'Sphereon issuer branding',
482
- background: {
483
- color: '#7C1010',
484
- image: {
485
- uri: 'data:image/png;base64,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',
486
- alt: 'Sphereon background',
487
- mediaType: 'image/png',
488
- dimensions: {
489
- width: 262,
490
- height: 116,
491
- },
492
- },
493
- },
494
- text: {
495
- color: '#000000',
496
- },
497
- },
498
- ],
499
- }
500
-
501
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
502
- const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
503
-
504
- expect(fromDb).toBeDefined()
505
- expect(fromDb?.id).toBeDefined()
506
- expect(fromDb?.issuerCorrelationId).toEqual(issuerBranding.issuerCorrelationId)
507
- expect(fromDb?.localeBranding).toBeDefined()
508
- expect(fromDb?.localeBranding.length).toEqual(1)
509
- expect(fromDb?.localeBranding[0].alias).toEqual(issuerBranding.localeBranding[0].alias)
510
- expect(fromDb?.localeBranding[0].locale).toEqual(issuerBranding.localeBranding[0].locale)
511
- expect(fromDb?.localeBranding[0].description).toEqual(issuerBranding.localeBranding[0].description)
512
- expect(fromDb?.localeBranding[0].logo).toBeDefined()
513
- expect(fromDb?.localeBranding[0].logo!.uri).toEqual(issuerBranding.localeBranding[0].logo!.uri)
514
- expect(fromDb?.localeBranding[0].logo!.alt).toEqual(issuerBranding.localeBranding[0].logo!.alt)
515
- expect(fromDb?.localeBranding[0].logo!.mediaType).toEqual(issuerBranding.localeBranding[0].logo!.mediaType)
516
- expect(fromDb?.localeBranding[0].logo!.dimensions).toBeDefined()
517
- expect(fromDb?.localeBranding[0].logo!.dimensions!.width).toEqual(issuerBranding.localeBranding[0].logo!.dimensions!.width)
518
- expect(fromDb?.localeBranding[0].logo!.dimensions!.height).toEqual(issuerBranding.localeBranding[0].logo!.dimensions!.height)
519
- expect(fromDb?.localeBranding[0].background).toBeDefined()
520
- expect(fromDb?.localeBranding[0].background!.color).toEqual(issuerBranding.localeBranding[0].background!.color)
521
- expect(fromDb?.localeBranding[0].background!.image).toBeDefined()
522
- expect(fromDb?.localeBranding[0].background!.image!.uri).toEqual(issuerBranding.localeBranding[0].background!.image!.uri)
523
- expect(fromDb?.localeBranding[0].background!.image!.alt).toEqual(issuerBranding.localeBranding[0].background!.image!.alt)
524
- expect(fromDb?.localeBranding[0].background!.image!.mediaType).toEqual(issuerBranding.localeBranding[0].background!.image!.mediaType)
525
- expect(fromDb?.localeBranding[0].background!.image!.dimensions).toBeDefined()
526
- expect(fromDb?.localeBranding[0].background!.image!.dimensions!.width).toEqual(
527
- issuerBranding.localeBranding[0].background!.image!.dimensions!.width,
528
- )
529
- expect(fromDb?.localeBranding[0].background!.image!.dimensions!.height).toEqual(
530
- issuerBranding.localeBranding[0].background!.image!.dimensions!.height,
531
- )
532
- expect(fromDb?.localeBranding[0].text).toBeDefined()
533
- expect(fromDb?.localeBranding[0].text!.color).toEqual(issuerBranding.localeBranding[0].text!.color)
534
- expect(fromDb?.createdAt).toBeDefined()
535
- expect(fromDb?.lastUpdatedAt).toBeDefined()
536
- })
537
-
538
- it('Should enforce unique issuerCorrelationId for an issuer branding', async (): Promise<void> => {
539
- const issuerCorrelationId = 'issuerCorrelationId'
540
- const issuerBranding1: IBasicIssuerBranding = {
541
- issuerCorrelationId,
542
- localeBranding: [
543
- {
544
- alias: 'issuerAlias',
545
- locale: 'en-US',
546
- },
547
- ],
548
- }
549
- const issuerBrandingEntity1: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding1)
550
- const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
551
- await repository.save(issuerBrandingEntity1)
552
-
553
- const issuerBranding2: IBasicIssuerBranding = {
554
- issuerCorrelationId,
555
- localeBranding: [
556
- {
557
- alias: 'issuerAlias',
558
- locale: 'en-US',
559
- },
560
- ],
561
- }
562
- const issuerBrandingEntity2: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding2)
563
-
564
- await expect(repository.save(issuerBrandingEntity2)).rejects.toThrowError(
565
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: IssuerBranding.issuerCorrelationId',
566
- )
567
- })
568
-
569
- it('should throw error when saving issuer branding with blank issuerCorrelationId', async (): Promise<void> => {
570
- const issuerBranding: IBasicIssuerBranding = {
571
- issuerCorrelationId: '',
572
- localeBranding: [
573
- {
574
- alias: 'issuerTypeAlias',
575
- locale: 'en-US',
576
- },
577
- ],
578
- }
579
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
580
-
581
- await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
582
- 'Blank issuerCorrelationIds are not allowed',
583
- )
584
- })
585
-
586
- it('Should throw error when saving issuer branding to database without branding', async (): Promise<void> => {
587
- const issuerBranding: IBasicIssuerBranding = {
588
- issuerCorrelationId: 'issuerCorrelationId',
589
- localeBranding: [],
590
- }
591
-
592
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
593
- await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrow('localeBranding cannot be empty')
594
- })
595
-
596
- it('Should save issuer branding with multiple locales to database', async (): Promise<void> => {
597
- const issuerBranding: IBasicIssuerBranding = {
598
- issuerCorrelationId: 'issuerCorrelationId',
599
- localeBranding: [
600
- {
601
- alias: 'issuerAlias1',
602
- locale: 'en-US',
603
- },
604
- {
605
- alias: 'issuerAlias2',
606
- locale: 'en-GB',
607
- },
608
- {
609
- alias: 'issuerAlias3',
610
- },
611
- ],
612
- }
613
-
614
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
615
- const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
616
-
617
- expect(fromDb).toBeDefined()
618
- expect(fromDb?.localeBranding).toBeDefined()
619
- expect(fromDb?.localeBranding.length).toEqual(3)
620
- })
621
-
622
- it('Should enforce unique locale for an issuer branding', async (): Promise<void> => {
623
- const issuerBranding: IBasicIssuerBranding = {
624
- issuerCorrelationId: 'issuerCorrelationId',
625
- localeBranding: [
626
- {
627
- alias: 'issuerAlias1',
628
- locale: 'en-US',
629
- },
630
- {
631
- alias: 'issuerAlias2',
632
- locale: 'en-US',
633
- },
634
- ],
635
- }
636
-
637
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
638
-
639
- await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
640
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.issuerBrandingId, BaseLocaleBranding.locale',
641
- )
642
- })
643
-
644
- it('Should enforce unique null locale for an issuer branding', async (): Promise<void> => {
645
- const issuerBranding: IBasicIssuerBranding = {
646
- issuerCorrelationId: 'issuerCorrelationId',
647
- localeBranding: [
648
- {
649
- alias: 'issuerAlias1',
650
- },
651
- {
652
- alias: 'issuerAlias2',
653
- },
654
- ],
655
- }
656
-
657
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
658
-
659
- await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
660
- 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.issuerBrandingId, BaseLocaleBranding.locale',
661
- )
662
- })
663
-
664
- it('Should save issuer locale branding to database', async (): Promise<void> => {
665
- const localeBranding: IBasicIssuerLocaleBranding = {
666
- alias: 'credentialAlias',
667
- locale: 'en-US',
668
- logo: {
669
- uri: 'data:image/jpeg;base64,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',
670
- mediaType: 'image/jpeg',
671
- alt: 'Sphereon logo',
672
- dimensions: {
673
- width: 200,
674
- height: 200,
675
- },
676
- },
677
- description: 'Sphereon issuer branding',
678
- background: {
679
- color: '#7C1010',
680
- image: {
681
- uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQYAAAB0CAYAAABnqJxCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAcoUlEQVR4nO2df5BlZXnnP9+u61TXFDXFDuwUoXB2aooAEiBIkHvOyD0ioqjFskbkR1bUVIFsNBvQVeKyiBaLrItbG0MiYmIgIQZhIWCILKIg4G3gnh5YZBERWSQIFEtRSFEu1Ts11dXf/eP8vn27+57bDTPDvh9q6HN/nPc87+/nfZ7nfS8EAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgE/v9Fz6zb52cYEDT+Fi80dOnizuL94qbstVTdXl4XOL+t/qzqu78G4jfv/NXCa5TXNSOKk4uNTxPKs2FAF6SD/j/satkCgbWgI/sQxAugJ8qOqmIAMCrfpOzxKr5Udux8FMg7fDYguExIEraRGomXaRsfitkv/8Luj9kPcYjzF/n/N+xKkQKBtaSTd8bb3rzzV2ftKiGeXbfPjcAJlTqy+6PGlRnSjQKBPZpONZPvOjykQez2lMstqotdXYiBwBrSyf7s6katxp/dnUKxqZlI9hTRA4Gx6OwWM532LDW8YWOxdosiDATWkinlZsJdilV1tj2BmrfF5BrELi/EQGDtmALt8glb+cy7J/WtQlphJGcu2EDgDULHsMsnaufxDXtS36oGMVUZCATeIHR2h/a8p63RMy+KymAtodKzEgi8EZjaHdpzuU7fYxYTlcFRRQzDnja6BQLLkBkfd3V/LK13e0bnkqrYC7tYSezqQgwE1o6OtevDiqQ9r1sp1xAUNIXAG5Ap7F2+PjZm16st7bBdrYHM7uD0DQTWjA5q767sxsmU4FDbxyJ+C7QJ6IBfAX4hsx3p/nTQnxsnPdU3ZNWI4t4U1nQloDAszA76O5rfSzrGxwDHAr8J7J1/9BLwc6H7gYfSQX++XU5H43xjWCFT829NJvtY4J1IWwXrDa+Cn5aZMerPpv2dayHPKKI4wXAQmQyHS9oPWGfYAX4O8xNJfeCZdNBf1bO6cYJgGpgqloTGC7ODmeF62tf2ScDbkDYB8+C7Zwczfznps6M42WQ7Ad6KtBlYD57HehH5Z1j3SjyaDvqv6a7dKO51MEdYRMBbhDYZd4TmbD8P/ETiXuDpdDCzRs9M1oE7RdtztulxRz2v3SgB+RDBe4wOBzYK7zQ8h3lA0g/SQf+V4bQ7YnwffN5RT7N9AdJhwFS1hzpfEhSzp3k5ipMbwJelg5mnl0u32K/hRaODDkD83LUdmUAfODEvmI7xObY/A2ytb2Iod3RWBfZUN+79udA30qGBpS3VbtHcG1FbTkRxgu0zbC4GHZRnkPrAkb96qhv1LkK6fnYNG20+IJ1h+zyko8hjVZzLkZVHXir2vFC/G/UuE/pBmk44QNgdw0+B/Yu3JD0MxLlM08CFNp8C7QVGzmoFsR5oNTBEcQ+bRNJnDO8F1hVtDxlZ9a39C8DjUdz7c9DV6WBtB+Mo6m1E+qTts0BbyqMJipMImvEA88bbu1FyBeKG2VVOVIY/xlxYnIeQHwPwDmA7QBQnR4D/C+gE21PFMQiZfNm3bf86int/hvXlNK0m8qlxNwZGUW+DzXeMrwOOsD1VilcI2ggB9Ebbf2Dz0yhKzo2i3vKZHGHAyzLhaexpYBo8DV6XZ3qL8X2YK4Cto2WpRyh6K+artv9nFPe2RXGycqZXoFyC5cuJKO5N2/4WcB34oPquSw8VtOWtwLXYf52N/KsjihOiODnK9gPAt4CjqddRozxKOTrGxwPfN74xipO9mQRpHthJpjVMg6dt75/Lta/tu21/HrxXof2V/zevtnlUN0o22dwI3G37ZJy1h7LtlRNTWTdTtg+1udL2A1GcHDZRHoeI4mQqipNzDP/L9iXAlnywpfxbetrK9zqYbeBrsX/cjZMoilbRDrOyK/uH8bTEvt0oIZPNszbvKfqq3SiXohVssPm88X1R1DugSHoKrRzrH8VJB/hvkk4W2YwpDf/Nr1n02XrE5RaXLdUZpaVDoqu0q3SjKNkKzMgc0/xcZVqlcZDqdf7vIOCHhjMmHRyMh/ItJHcM35I4sziaoik3Tfmqzz8KvmI1A1U3u/dfg2ckHdl4XvEsmmU4olw/BMxEcbJf2+fPZkuRuaH8boiiZBp8i0RU5X2RHGMPDFGcHCH5AUkfkjSVlWFRlkvmq94mjsjzeGzbPNbpRsl6zLXYfyG0cVEfWFTni+RA4jCZHyGf252w7kU2qNbTBvaS+APMlULTlRw02x0aLrMjEd+Lot4GKLddLz8y2D5b6L1QDYJC84hbbb4r+SmbBaEtxu+T9QHEtItNBZlad7bhcuD5RemX4cWLMl7tZCxVM6+XdJPtAzK5DWjB9kPA/cCzuZfjNyRFwDGgTj6ZFIuNaYlrsjU/t45XDU3JihVEuW3d+ojEceXKIjuR6i7gccNOWQdYnCCzuQyPKlVOnW24ZTJZAPs0pGuwOs3CYh5xL9YtwOO2XwVtkHykrdOBI8oyzy4Ow9zUjXvvGrYPjFEmc0UZ53Ee08iftdlWep2ystkBvIS1E7EB+PU4qXfj5BDgDptNGhLa8Jjg74H/AbxsMy35IFv/CjheolMeOWT2RtwSRcnb0rT/VLs8Zssimxstv18uTvAqol8F5gXLfVlPIf6v4Z8JjjBEgvVF3eTyrDP6qvD6KE7+8wS2nryO8sVylsPfMZwrMZXLthO4F3jI4v8I/jmQAEdQa4OZ+DrM+JJunJzXWWlQiOJeB3Re8Tprx+zA/C727bNpw5DSB/62G/UOEvprwba87p5E/G466C8aFMgLdqnVjPLaLOc9cUz2fmn0uwv4nMSDw0adKOqBdKjtSyU+MKSXrBNc0416b51NZ55ZthCWlKtmXhDH1V7/le0LZ9OZF4fkmUa6SPDvgalqJDRCX4zi5Na2jSNXja8COkPH7D0E/gSwfYTt4LYoTr4CfBS4PFv3F/nwNqHPAl9qI4fETigGXgNaB7qgWDoIHkdcCtwOvJSm/aJtTY+Rx/XAjcCm5kN5EThP4u9HGJbvjOLk68Cx2NdQ2KCy9rTR0jejuPfudDAztn0n1+ouk3h/kVZtjHoGuADp5mHjeH7v/sBngH9L1vaK+6dAl9o8Adw8riz5M3c22nR2+SnBuvzlPcAn0kH/8YYsUW8K8UHQVfngXGvPOge4TM++aR8jrl7qBKcoTjaD/wmYKoyAkr6RDvqfWE7mKO6tB75r0wFOHe4kdZ550z43Cp+AtE/9zMcoTjbb/mUheOWbKIYKfQW4cCVvQxT3poDP2lxWGQzLSr3e1u/NtjC8daPeXyDOyc03pUy5dF80/MfZJTp4vqa83PK5uJGvBaHfTgf9R8eWI06mhO82JEWZ5LLcDjplHK9QN07eC76laEz5xPdrrIPTtP/CuLJEce8Owwn194qZ1HCDpLPSQb+VPaFMO+pdbPGFQoPMy+xpoXeng/6TK93fjXqbgfskDqhpjQj9y3TQH1tL60a9ROJuYKr+vk1f0inpoP/SsvnIDNPHSXzHhecsNwSCX8A6fDZdPo2h9D4EvrHMU36RX98qdGqaLm1oj+LkJOPvFnKo0hzOq81aS3IAaIraWt32z1a6KR3MzGGdLnHicoMCFKp3vWnnONcM1FgpF3//Evy5cVyQ2aygr0j8KVRrrDzN0yQOXSmNIYmpRupGWreBv7TUoACQpn0sLhZ6RVItBU3ZPq6dFLwHlNTKBKEnDKeP7yrmdpm/KlegmUwbwL/fRpba82tlAkj3gz428aAQJ/sifarMYybfDmUD34qDAsBsOvOMpPOG2g/AeSvcWpcDpMuc9wVQ7t3R42QDzIodOh30mU1n7rF1qtC8yvyA0H6Szx9XnoxiIVOVTX79POhjyw0K+f23Cv2gVq6FPO+aKtNf8l4vZMZMF14CJL11HGNZmvZfSsdYq1YW+xGjVMPRQRGC/BTw6Tb+4FxFvxDzVM1QDJnv/eNjJ0RtdKaw9ILNAvjCcVTT2UH/ZcxtQ0ZilPmZx8f8oV0Lac/q6TOzg5mx1u1QlIu+arPgwpeVzWKnR3EytcLtlShFXoq2ksm0AP6j2RUb6LKcaXtD0wHkr4MfapnOP2KedNWGsEnGNbYatslEZflkby4AH59N+2OXN4DEneBv5OnWykznRHFvr+XvbqTUaD9lP7Uvm037L690dzqYAfu6ote5CnY8bKro8Mvk4mnwfGmoyIQ4E/hkN+6t2s2WJVh0kCFJykfW93MY4UvHnRHrpIOZOePLXRuK8gr5QCuvQGkILSQygkdAj4yfiB8or6ps7z/yqyPoxr0NddU9b69PSrp9fBky0rT/JFDOvvn4cJjxpqXvGk29Bm1vTwczbTtwMz1zau0a8LysK9sGCaWD/jziziEp15EFxa2I8OnFyeflBAl3Ye5tJQj5YGwus5kfivjdG/Setuk1k9BOwQ1j3yxtryaoXBMy+4/jrnxR4v6Gy0N0gCtk/TSKky9EcXLUqnzxqlSZER9RuVbI3FvS+BkfTg/dLJhvuG9gM3DACreWlKbQUjaBuLdldN3Tw64kxIqGuFo+jpGYbixkMhkmCpqReKzhXoOO0NhLrGZ5lq6wH0wiS0EUJRskjizzmJX3c+DW3oQM/3S4PQG/Pd6tOq68j2Jh7esmDgqTnpPo18q7aP3vbJUMQ2UvnkQa2zYEPCexMNS/pzt1tXgU6aC/EMXJ+bZ/JGk6G7QLF6cPBC7Guhj5xSjqpcAdlm4TfmrsUb30ZY36bNjkyHYzvu97BM8bnpHZWjzTZkr4IOC58eQdkil7+YtWUohXnEeroWIuWtngU+PQotxKacxxUdS7oyqqyhJF/pzGii03fOWBL4dms2Htd0Pw5lZ5qluwsrR/0u7+IcRmYH3DwCs2Yr5fD5gbuQhVafgsOjFY+5X5K4x+ZstKYkRxb53tA0sZymeqtbZQkA76dOPevTLHF1pIlr5b2buMh7c0tA253gmew+xVL8cOgFbYLJEO+tujOPkwcI3QXuXdpY8DQJsQJwMnC74Kur8b9S4X+oc0XX4mzeMAlvmwfAHmiTYehEV5SfsLUZQ8jYoQ6rINtQjsEYvKALdaZ2Lm6/stWg0JGb9R9JTavVvyf80WXMqrZg8q7YOqvVVdu9pzMh7DPlx7bAv7KGzvVxrUKrE2oCHvxxLmKVTLTXaizuKS1lh53Ci0rqpzUBZD0GZmXiwe+kVZB1Xi+0Vxwrhuaw3X6ZhxIRVeIItJaiSThUqO0SzTQf9mm9+xfDOwAE3DWT3kNw/9TCTdZLijGyfLqunl8mYJa0fDCiKvRlvI0pNr9onGenMsskm4zGueitqp8GKhvqt1gt2Z08VadxR1+8fi94b+1uVopKeJlodlGtIq94BofZ7iyNIZlcfG59Trx+V7QypyZww51oGbLkrYYVjtprw5L6qN8dthpazWX7tlmav59PyiM8rmtxSzaf8J4JQ8WOODEu/LdxBuyDS1+kRVSn085r4oTt6eDvqjVfVC5Rs5PjnXAgt1Ui2stktgNlhDpSqNbzkvNNNao2s754/qlMuu6RazszYQZ2KJedB8tSxTUxvIlxXle42ZdtEao5gVx8vPkOzlMml17Cg7TmUkX8iCqcr10pKRu9U3mu9Bo85WNGLb3kHmYal78aZzW9tq2KvetvOEd4xdbnl9tms2I2jso8noNBrKmOQRjF8DvtaNk2nBUcD7jD8IHCJpqnhQVjnebHNVFCcnjlKRimXpEvpgQwM2HNJG1Rom233I1kKzrjW8kVGZo3A+ihUNb5Ij+IdVwAkq938XpVvUn+Frs4P+p1untAYUYc+lNtWyTY1OlBdK20hhKTCPpoP+eAbDNULwsrMOu5fz8jaexhwAPLaKpH+z6nvlUPV8m7Zd1X2+q7SlAM7TKAfRPIGpItFJmR30d6SD/v3poH+RrMMx77K9vVhaVGqlTwCOHCncEnbHUulw5mDMd64dw6p+QNZbkfcvXJZ51heQHl/2thrFzFvmsRC2lRiuYkOKZViLvmR4vNQY8v8Eh63FrtHJqJdFLtUqpzLBM8BcUVHOymhLt5Wvf/Wk6cw84rHhmna252AisvMynBR1V3PXt3B510o91zzUsszFUBvM/01V0VKrJ037C2nav0fSu4Qerdw7QtnBs9tGClf4SoYzlU+qdbeg0HrbZ0wqo63TBFNNFxhPzA76y0ZnNhOpyTRp6anIj8u8tbrdTgU7m+4ztkEbI+paUosBbco0Memg/4rg0WZZewPohJXvXnPuariGAUkfbhMEVsewVbCtzFdpGPUP26RTlHNxf/uhuNYGyz6WnxK92iXKMHn463WUI2Eugth3qXsK9XzEJ43rfMvzhd04aT1rRHGyUeKPRnzUdvPKCPladoIiTLBYbLWshTSdeYVs92Y90fW2z++ucPbFKKI42TvfrLR2rM18c2P2pygvEFyQHwXQiihOprpRb6KBU+i6IaMMwLEe2h8yNvZFlCdelW++ALqnZULU29GEs9RQevlSYqW0ojghipJzu3FyfIun7SzlrEafkYaeSo0a0Tlc9CFXfclsln1lt8VoHUW9KdtXYm+qNCZDFn12VYt8VSG/TZnaodrYwGRpGF1RD4XNy/tcRJt6Kvz019qe6UbJlnZS5LLkghRl40nKZGTC/C3m1SrcGrCPAV/UZtmUf/ePgZ904+SEbtx68HwEdGd52ElZ5r4yipMlJ7xRdOPkZOCjw3Vnc0Xr08VqaUy8civrzWU7XHETVX6u3BXA5YKbojg5bqUKydWrE10oXXlUo+3Rm1603EincqlRLjmyf2fKXNnNjg1bOQ/SFZJOKxXBSuf9G6NWkXSl0qza3wlGatVCHkf4o8fhNsS9olE2HaHvRHHy3nE6ThT3NoJuEnq/pKMED0Rx74S2h4dkBrl6BKvW5Gf70rT/ouFPG+Wd/fs88PlxVPlsezcXA5eC9pX5nsy/60a9sSeWPIz5c0LzUGuPaCvme+PsuchP2Xq/4NrsoJlafqSnEX82rjwltajhqmwmS6OoQ1D2uxLLZGRv27eAPpkru3vb/r7NpVGcbFzinmnbl9icQM3qb5gDjTa3luPC4kxlE0TN+FjMSFm652APoqj33rzyh2XpRFFyvO378mPmSkNLnuvnbS5sGzDlWgqFXJOM1lWM+mQG4NlBf0HoE5YbM2q26cjfNXwzipMDoxGzYxQn66MoORP0Y9snVQqU98X67zJHTJCjxp6XtVlJAOjLFo+V7QCwPWVzieGHUdQ7tjtiaZHVfy+xudv2F+zS2N4x/Nf87IEWYvCQ4T9BXSMyxkcbftyNkrNHLceiuEc37m22ucJwi+29huIrdtr+eJvNbwWlxlGUzCTtkHpbzNLp5D67pTha0vHQcBeuk/gP4E9GcXK74QFlpzGvB94CnCyxpXyocpca+ka6xI4vFYbHES2p+kiFL+w5xPOgY/K3jgR9z/bTUZykwHN5/vYHjkEcqFzwLHahnN132P7ISlvCl6IQtQrya7sOqGsZk+vc6aD/aBQlZyFfa9dO/c587Gcbfl/m4ShOHjK8rOxswAOByPK+heFqSI6vYcY+F6K8t6H0LFqPT8xs2p/rxr1TJH5ksyk7wLg0bR6HmBE8mdf/82RL5APIPFhbizM46lqds5PD/66NHOmgTxQnlwAHCZ8BqkVdej+kb4K/3I2TVNmmtB3ARuAI4CjJ6ypPbinMAvjTs4OZOycqnMpoWUa+t6G0Tig/TDaXb6Uftb3T9seQrkIqR8LcULg3cAb2Gdlpv/kj8ral4tJg6WHBF5cUruj4S3yGqlOOkeaETzXcLbS1FrW5xbAly2kmS9lX88GpyKjNq4IPz6YzQ8a78SgPewHK44jbriVUDCbFEmASSYq0fAPWFOIqYL2bAUwdo6PBR2PlwTRFeRanKavI2ILMnyA+t1IY+zDNesoyuHYaA8wOZh6P4uTdgltMNvHU2gSYA4EDm3a0+otae0B3CZ+SpjOto2jTQX8+ipOPgV61ObuaucqpYl/MSeWja521OJ27LH+8A/OHkq5uK0d2ez2tSckd3a6WfkbDVtEm+cES12O/Q/jhSkV0Jo5rr527Per7LrLP75F9Ypoud1CHa9Ffzdul7DnV6gdAzwi9A9zPnp0fzpqrVPkKN7+u3ZuV48OSemna/8cxS26EtBnZc/Nnt7YcVnIWeZiUdDBDmvavF7xd8GChFyr3a6tWJir0Rooyy3Ik/CL49xDnT/obDHI9H6trrqNIB/1HDF2Jb2MvUKv3Io/1Oke166xt7gC+JHhf7tWZVI6dwL8Bf0TwQta2qvZZylSXy1Rlk332oNDbZ9OZqyf/XY9CG6/3jXblXvVbav3ETAntI0a68Epm05kHQW8TOl1wj3MDTGGwqGa8mvHDPAachfzudMUTnDTyR28Klas0aNVm5Sy8Wu+0+QjSI24ahCpDVW5QsXjU4izhbjroPzx+0Y2Qy8xLzCHN2ZoDzUHrfQELSHNWfr80R4sQ5FHk+eoiTkXqgxZKY22pmZTxIHlmeFLiAtDBs4OZGyZtpJJ2VPnQHGKO7Dcd1pTZtP8i8GGJWNL1+TPLNqh89oOq/kEvI75OdhDOReka/NBPOugvzKYzf4c5GOl8wxPNPqlqlKDUoOeR7kI6BambDvqrOquCbK9G1g7FnMUcplXe8iFzB2bO5P+kuYm0vSjubQIlwOGY/cl+NGSH7Rcl/QzYjnl83L3qy535CP5lpjmUgcdPZI24SrubnaN4mLJItLcgNtqel/SSzc8F91o8ttyRa29EulGyn8SxxocL7Q+sx95p8RLm55JS4LHX+leaXkuiLJ5lG1lU7b8g2xG6ALwM/BPwIGb7WgwGy9GNewgdkstyMGaT5XVCc+BnQY9i37vSJLm7sJbLwIl55k373KhsK+2IgYFfNjYpmSeMDx46nToQCKwhE4VzrjlaOq5+0U6EVdrpAoHAyqx22+gaUbjMFg8Oddt2+eM4a7FzLxAILMnuoTGUjOjwbmoTq9ywFwgExqDz7Lp9jivOwcu8eXVfq0s/rKifB5hRuu1GXBczfe2e59+88+UnRglRKgtD48Kin88LmkIg8LrQAe5uhB5QdUa5ClwqIsfKAEXln5cRb/l17kHARXRaGelxNTDy167yHZMs1hhyOcqhJotcXM35EYFAYGWKH7W9x/BNgGIvQtVPCz9s7cctShWhjDrLVYXKMqjG+8AKG5UawWMUaRRLh8k2KQUCgckoftT2qc07f/XtXSXEcgdMqLHOqAWxBAKB14yp3UErzzSUJdyV5c7F6ii1QCDw2tLZHSbfyr4w1OnLiMdAIPB6svKP2r4OVJrAKHcllXxBYQgEXhdW/lHb14Nyo+aQJCreqQ5CCWNDIPDa08m9ClPPrttnXW1ve+kSrA65KM4gaHoIqlNjqvfL75fuy2IzNOUe8uy9cg/EkoFWGvJ2hFEhEHjt6eTL+zOAk8qePWT5L+MaRvgMm2cVFp1eiz4rT7qpHSJS+5GSDdhzI+0d1WkrLLncCAQCa0oH+HbZ4ex8clazC7o6Sqs8dagKiaQMOaqFNRTXFN9UTZOoxyxUA8bconhnM4f0bduVROKFoDUEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoHAa8X/AzpJlj2mUDhvAAAAAElFTkSuQmCC',
682
- alt: 'Sphereon background',
683
- mediaType: 'image/png',
684
- dimensions: {
685
- width: 262,
686
- height: 116,
687
- },
688
- },
689
- },
690
- text: {
691
- color: '#000000',
692
- },
693
- }
694
-
695
- const issuerLocaleBrandingEntity: IssuerLocaleBrandingEntity = issuerLocaleBrandingEntityFrom(localeBranding)
696
- const fromDb: IssuerLocaleBrandingEntity = await dbConnection.getRepository(CredentialLocaleBrandingEntity).save(issuerLocaleBrandingEntity)
697
-
698
- expect(fromDb).toBeDefined()
699
- expect(fromDb?.alias).toEqual(localeBranding.alias)
700
- expect(fromDb?.locale).toEqual(localeBranding.locale)
701
- expect(fromDb?.description).toEqual(localeBranding.description)
702
- expect(fromDb?.logo).toBeDefined()
703
- expect(fromDb?.logo!.uri).toEqual(localeBranding.logo!.uri)
704
- expect(fromDb?.logo!.alt).toEqual(localeBranding.logo!.alt)
705
- expect(fromDb?.logo!.mediaType).toEqual(localeBranding.logo!.mediaType)
706
- expect(fromDb?.logo!.dimensions).toBeDefined()
707
- expect(fromDb?.logo!.dimensions!.width).toEqual(localeBranding.logo!.dimensions!.width)
708
- expect(fromDb?.logo!.dimensions!.height).toEqual(localeBranding.logo!.dimensions!.height)
709
- expect(fromDb?.background).toBeDefined()
710
- expect(fromDb?.background!.color).toEqual(localeBranding.background!.color)
711
- expect(fromDb?.background!.image).toBeDefined()
712
- expect(fromDb?.background!.image!.uri).toEqual(localeBranding.background!.image!.uri)
713
- expect(fromDb?.background!.image!.alt).toEqual(localeBranding.background!.image!.alt)
714
- expect(fromDb?.background!.image!.mediaType).toEqual(localeBranding.background!.image!.mediaType)
715
- expect(fromDb?.background!.image!.dimensions).toBeDefined()
716
- expect(fromDb?.background!.image!.dimensions!.width).toEqual(localeBranding.background!.image!.dimensions!.width)
717
- expect(fromDb?.background!.image!.dimensions!.height).toEqual(localeBranding.background!.image!.dimensions!.height)
718
- expect(fromDb?.text).toBeDefined()
719
- expect(fromDb?.text!.color).toEqual(localeBranding.text!.color)
720
- })
721
-
722
- it('Should set creation date when saving issuer locale branding', async (): Promise<void> => {
723
- const localeBranding: IBasicIssuerLocaleBranding = {
724
- alias: 'issuerAlias',
725
- locale: 'en-US',
726
- }
727
-
728
- const issuerLocaleBrandingEntity: IssuerLocaleBrandingEntity = issuerLocaleBrandingEntityFrom(localeBranding)
729
- const repository: Repository<IssuerLocaleBrandingEntity> = await dbConnection.getRepository(IssuerLocaleBrandingEntity)
730
- const fromDb: IssuerLocaleBrandingEntity = await repository.save(issuerLocaleBrandingEntity)
731
- expect(fromDb).toBeDefined()
732
-
733
- const result: IssuerLocaleBrandingEntity | null = await repository.findOne({ where: { id: fromDb.id } })
734
-
735
- expect(result).toBeDefined()
736
- expect(result?.createdAt).toBeDefined()
737
- })
738
-
739
- it('Should delete issuer branding', async (): Promise<void> => {
740
- const issuerBranding: IBasicIssuerBranding = {
741
- issuerCorrelationId: 'issuerCorrelationId',
742
- localeBranding: [
743
- {
744
- alias: 'issuerAlias',
745
- locale: 'en-US',
746
- },
747
- ],
748
- }
749
-
750
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
751
- const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
752
- const fromDb: IssuerBrandingEntity = await repository.save(issuerBrandingEntity)
753
- expect(fromDb).toBeDefined()
754
-
755
- await repository.delete({ id: fromDb.id })
756
-
757
- await expect(
758
- await repository.findOne({
759
- where: { id: fromDb.id },
760
- }),
761
- ).toBeNull()
762
- })
763
-
764
- it('Should delete issuer locale branding', async (): Promise<void> => {
765
- const issuerBranding: IBasicIssuerBranding = {
766
- issuerCorrelationId: 'issuerCorrelationId',
767
- localeBranding: [
768
- {
769
- alias: 'issuerAlias',
770
- locale: 'en-US',
771
- },
772
- ],
773
- }
774
-
775
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
776
- const issuerBrandingRepository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
777
- const fromDb: IssuerBrandingEntity = await issuerBrandingRepository.save(issuerBrandingEntity)
778
- expect(fromDb).toBeDefined()
779
-
780
- const localeBrandingRepository: Repository<IssuerLocaleBrandingEntity> = await dbConnection.getRepository(IssuerLocaleBrandingEntity)
781
- await localeBrandingRepository.delete({ id: fromDb.localeBranding[0].id })
782
-
783
- await expect(
784
- await localeBrandingRepository.findOne({
785
- where: { id: fromDb.id },
786
- }),
787
- ).toBeNull()
788
-
789
- const result: IssuerBrandingEntity | null = await issuerBrandingRepository.findOne({ where: { id: fromDb.id } })
790
- expect(result?.localeBranding.length).toEqual(0)
791
- })
792
-
793
- it('Should update last updated date when updating issuer branding', async (): Promise<void> => {
794
- const issuerBranding: IBasicIssuerBranding = {
795
- issuerCorrelationId: 'issuerCorrelationId',
796
- localeBranding: [
797
- {
798
- alias: 'issuerAlias',
799
- locale: 'en-US',
800
- },
801
- ],
802
- }
803
-
804
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
805
- const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
806
- const fromDb: IssuerBrandingEntity = await repository.save(issuerBrandingEntity)
807
- expect(fromDb).toBeDefined()
808
-
809
- const updatedIssuerBranding = {
810
- ...fromDb,
811
- issuerCorrelationId: 'newIssuerCorrelationId',
812
- }
813
-
814
- const result: IssuerBrandingEntity = await repository.save(updatedIssuerBranding)
815
-
816
- expect(result).toBeDefined()
817
- expect(result?.lastUpdatedAt).not.toEqual(fromDb?.lastUpdatedAt)
818
- })
819
-
820
- it('Should update last updated date when updating issuer locale branding', async (): Promise<void> => {
821
- const issuerBranding: IBasicIssuerBranding = {
822
- issuerCorrelationId: 'issuerCorrelationId',
823
- localeBranding: [
824
- {
825
- alias: 'issuerAlias',
826
- locale: 'en-US',
827
- },
828
- ],
829
- }
830
-
831
- const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
832
- const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
833
- expect(fromDb).toBeDefined()
834
- expect(fromDb?.localeBranding.length).toEqual(1)
835
-
836
- const updatedIssuerLocaleBranding = {
837
- ...fromDb.localeBranding[0],
838
- alias: 'newIssuerAlias',
839
- }
840
-
841
- const result: IssuerLocaleBrandingEntity = await dbConnection.getRepository(IssuerLocaleBrandingEntity).save(updatedIssuerLocaleBranding)
842
-
843
- expect(result).toBeDefined()
844
- expect(result?.lastUpdatedAt).not.toEqual(fromDb?.localeBranding[0].lastUpdatedAt)
845
- })
846
- })
1
+ import { DataSources } from '@sphereon/ssi-sdk.agent-config'
2
+ import { DataSource, Repository } from 'typeorm'
3
+ import { DataStoreMigrations } from '../migrations'
4
+ import {
5
+ IBasicCredentialBranding,
6
+ IBasicIssuerBranding,
7
+ CredentialBrandingEntity,
8
+ credentialBrandingEntityFrom,
9
+ DataStoreIssuanceBrandingEntities,
10
+ issuerBrandingEntityFrom,
11
+ credentialLocaleBrandingEntityFrom,
12
+ CredentialLocaleBrandingEntity,
13
+ issuerLocaleBrandingEntityFrom,
14
+ IssuerLocaleBrandingEntity,
15
+ IBasicCredentialLocaleBranding,
16
+ IBasicIssuerLocaleBranding,
17
+ IssuerBrandingEntity,
18
+ } from '../index'
19
+
20
+ describe('Database entities tests', (): void => {
21
+ let dbConnection: DataSource
22
+
23
+ beforeEach(async (): Promise<void> => {
24
+ DataSources.singleInstance().defaultDbType = 'sqlite'
25
+ dbConnection = await new DataSource({
26
+ type: 'sqlite',
27
+ database: ':memory:',
28
+ //logging: ['info'],
29
+ migrationsRun: false,
30
+ migrations: DataStoreMigrations,
31
+ synchronize: false,
32
+ entities: DataStoreIssuanceBrandingEntities,
33
+ }).initialize()
34
+ await dbConnection.runMigrations()
35
+ expect(await dbConnection.showMigrations()).toBeFalsy()
36
+ })
37
+
38
+ afterEach(async (): Promise<void> => {
39
+ await (await dbConnection).destroy()
40
+ })
41
+
42
+ // Credential tests
43
+
44
+ it('Should save credential branding to database', async (): Promise<void> => {
45
+ const credentialBranding: IBasicCredentialBranding = {
46
+ issuerCorrelationId: 'issuerCorrelationId',
47
+ vcHash: 'vcHash',
48
+ localeBranding: [
49
+ {
50
+ alias: 'credentialTypeAlias',
51
+ locale: 'en-US',
52
+ logo: {
53
+ uri: 'data:image/jpeg;base64,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',
54
+ mediaType: 'image/jpeg',
55
+ alt: 'Sphereon logo',
56
+ dimensions: {
57
+ width: 200,
58
+ height: 200,
59
+ },
60
+ },
61
+ description: 'Sphereon credential branding',
62
+ background: {
63
+ color: '#7C1010',
64
+ image: {
65
+ uri: 'data:image/png;base64,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',
66
+ alt: 'Sphereon background',
67
+ mediaType: 'image/png',
68
+ dimensions: {
69
+ width: 262,
70
+ height: 116,
71
+ },
72
+ },
73
+ },
74
+ text: {
75
+ color: '#000000',
76
+ },
77
+ },
78
+ ],
79
+ }
80
+
81
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
82
+ const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
83
+
84
+ expect(fromDb).toBeDefined()
85
+ expect(fromDb?.id).toBeDefined()
86
+ expect(fromDb?.issuerCorrelationId).toEqual(credentialBranding.issuerCorrelationId)
87
+ expect(fromDb?.vcHash).toEqual(credentialBranding.vcHash)
88
+ expect(fromDb?.localeBranding).toBeDefined()
89
+ expect(fromDb?.localeBranding.length).toEqual(1)
90
+ expect(fromDb?.localeBranding[0].alias).toEqual(credentialBranding.localeBranding[0].alias)
91
+ expect(fromDb?.localeBranding[0].locale).toEqual(credentialBranding.localeBranding[0].locale)
92
+ expect(fromDb?.localeBranding[0].description).toEqual(credentialBranding.localeBranding[0].description)
93
+ expect(fromDb?.localeBranding[0].logo).toBeDefined()
94
+ expect(fromDb?.localeBranding[0].logo!.uri).toEqual(credentialBranding.localeBranding[0].logo!.uri)
95
+ expect(fromDb?.localeBranding[0].logo!.alt).toEqual(credentialBranding.localeBranding[0].logo!.alt)
96
+ expect(fromDb?.localeBranding[0].logo!.mediaType).toEqual(credentialBranding.localeBranding[0].logo!.mediaType)
97
+ expect(fromDb?.localeBranding[0].logo!.dimensions).toBeDefined()
98
+ expect(fromDb?.localeBranding[0].logo!.dimensions!.width).toEqual(credentialBranding.localeBranding[0].logo!.dimensions!.width)
99
+ expect(fromDb?.localeBranding[0].logo!.dimensions!.height).toEqual(credentialBranding.localeBranding[0].logo!.dimensions!.height)
100
+ expect(fromDb?.localeBranding[0].background).toBeDefined()
101
+ expect(fromDb?.localeBranding[0].background!.color).toEqual(credentialBranding.localeBranding[0].background!.color)
102
+ expect(fromDb?.localeBranding[0].background!.image).toBeDefined()
103
+ expect(fromDb?.localeBranding[0].background!.image!.uri).toEqual(credentialBranding.localeBranding[0].background!.image!.uri)
104
+ expect(fromDb?.localeBranding[0].background!.image!.alt).toEqual(credentialBranding.localeBranding[0].background!.image!.alt)
105
+ expect(fromDb?.localeBranding[0].background!.image!.mediaType).toEqual(credentialBranding.localeBranding[0].background!.image!.mediaType)
106
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions).toBeDefined()
107
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions!.width).toEqual(
108
+ credentialBranding.localeBranding[0].background!.image!.dimensions!.width,
109
+ )
110
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions!.height).toEqual(
111
+ credentialBranding.localeBranding[0].background!.image!.dimensions!.height,
112
+ )
113
+ expect(fromDb?.localeBranding[0].text).toBeDefined()
114
+ expect(fromDb?.localeBranding[0].text!.color).toEqual(credentialBranding.localeBranding[0].text!.color)
115
+ expect(fromDb?.createdAt).toBeDefined()
116
+ expect(fromDb?.lastUpdatedAt).toBeDefined()
117
+ })
118
+
119
+ it('Should enforce unique vcHash for a credential branding', async (): Promise<void> => {
120
+ const vcHash = 'vcHash'
121
+ const credentialBranding1: IBasicCredentialBranding = {
122
+ issuerCorrelationId: 'issuerCorrelationId',
123
+ vcHash,
124
+ localeBranding: [
125
+ {
126
+ alias: 'credentialTypeAlias',
127
+ locale: 'en-US',
128
+ },
129
+ ],
130
+ }
131
+ const credentialBrandingEntity1: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding1)
132
+ const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
133
+ await repository.save(credentialBrandingEntity1)
134
+
135
+ const credentialBranding2: IBasicCredentialBranding = {
136
+ issuerCorrelationId: 'issuerCorrelationId',
137
+ vcHash,
138
+ localeBranding: [
139
+ {
140
+ alias: 'credentialTypeAlias',
141
+ locale: 'en-US',
142
+ },
143
+ ],
144
+ }
145
+ const credentialBrandingEntity2: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding2)
146
+
147
+ await expect(repository.save(credentialBrandingEntity2)).rejects.toThrowError(
148
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: CredentialBranding.vcHash',
149
+ )
150
+ })
151
+
152
+ it('should throw error when saving credential branding with blank vcHash', async (): Promise<void> => {
153
+ const credentialBranding: IBasicCredentialBranding = {
154
+ issuerCorrelationId: 'issuerCorrelationId',
155
+ vcHash: '',
156
+ localeBranding: [
157
+ {
158
+ alias: 'credentialTypeAlias',
159
+ locale: 'en-US',
160
+ },
161
+ ],
162
+ }
163
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
164
+
165
+ await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
166
+ 'Blank vcHashes are not allowed',
167
+ )
168
+ })
169
+
170
+ it('should throw error when saving credential branding with blank issuerCorrelationId', async (): Promise<void> => {
171
+ const credentialBranding: IBasicCredentialBranding = {
172
+ issuerCorrelationId: '',
173
+ vcHash: 'vcHash',
174
+ localeBranding: [
175
+ {
176
+ alias: 'credentialTypeAlias',
177
+ locale: 'en-US',
178
+ },
179
+ ],
180
+ }
181
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
182
+
183
+ await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
184
+ 'Blank issuerCorrelationIds are not allowed',
185
+ )
186
+ })
187
+
188
+ it('Should throw error when saving credential branding to database without branding', async (): Promise<void> => {
189
+ const credentialBranding: IBasicCredentialBranding = {
190
+ issuerCorrelationId: 'issuerCorrelationId',
191
+ vcHash: 'vcHash',
192
+ localeBranding: [],
193
+ }
194
+
195
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
196
+ await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrow(
197
+ 'localeBranding cannot be empty',
198
+ )
199
+ })
200
+
201
+ it('Should save credential branding with multiple locales to database', async (): Promise<void> => {
202
+ const credentialBranding: IBasicCredentialBranding = {
203
+ issuerCorrelationId: 'issuerCorrelationId',
204
+ vcHash: 'vcHash',
205
+ localeBranding: [
206
+ {
207
+ alias: 'credentialTypeAlias1',
208
+ locale: 'en-US',
209
+ },
210
+ {
211
+ alias: 'credentialTypeAlias2',
212
+ locale: 'en-GB',
213
+ },
214
+ {
215
+ alias: 'credentialTypeAlias3',
216
+ },
217
+ ],
218
+ }
219
+
220
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
221
+ const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
222
+
223
+ expect(fromDb).toBeDefined()
224
+ expect(fromDb?.localeBranding).toBeDefined()
225
+ expect(fromDb?.localeBranding.length).toEqual(3)
226
+ })
227
+
228
+ it('Should enforce unique locale for a credential branding', async (): Promise<void> => {
229
+ const credentialBranding: IBasicCredentialBranding = {
230
+ issuerCorrelationId: 'issuerCorrelationId',
231
+ vcHash: 'vcHash',
232
+ localeBranding: [
233
+ {
234
+ alias: 'credentialTypeAlias1',
235
+ locale: 'en-US',
236
+ },
237
+ {
238
+ alias: 'credentialTypeAlias2',
239
+ locale: 'en-US',
240
+ },
241
+ ],
242
+ }
243
+
244
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
245
+
246
+ await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
247
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.credentialBrandingId, BaseLocaleBranding.locale',
248
+ )
249
+ })
250
+
251
+ it('Should enforce unique null locale for a credential branding', async (): Promise<void> => {
252
+ const credentialBranding: IBasicCredentialBranding = {
253
+ issuerCorrelationId: 'issuerCorrelationId',
254
+ vcHash: 'vcHash',
255
+ localeBranding: [
256
+ {
257
+ alias: 'credentialTypeAlias1',
258
+ },
259
+ {
260
+ alias: 'credentialTypeAlias2',
261
+ },
262
+ ],
263
+ }
264
+
265
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
266
+
267
+ await expect(dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)).rejects.toThrowError(
268
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.credentialBrandingId, BaseLocaleBranding.locale',
269
+ )
270
+ })
271
+
272
+ it('Should save credential locale branding to database', async (): Promise<void> => {
273
+ const localeBranding: IBasicCredentialLocaleBranding = {
274
+ alias: 'credentialAlias',
275
+ locale: 'en-US',
276
+ logo: {
277
+ uri: 'data:image/jpeg;base64,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',
278
+ mediaType: 'image/jpeg',
279
+ alt: 'Sphereon logo',
280
+ dimensions: {
281
+ width: 200,
282
+ height: 200,
283
+ },
284
+ },
285
+ description: 'Sphereon issuer branding',
286
+ background: {
287
+ color: '#7C1010',
288
+ image: {
289
+ uri: 'data:image/png;base64,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',
290
+ alt: 'Sphereon background',
291
+ mediaType: 'image/png',
292
+ dimensions: {
293
+ width: 262,
294
+ height: 116,
295
+ },
296
+ },
297
+ },
298
+ text: {
299
+ color: '#000000',
300
+ },
301
+ }
302
+
303
+ const credentialLocaleBrandingEntity: CredentialLocaleBrandingEntity = credentialLocaleBrandingEntityFrom(localeBranding)
304
+ const fromDb: CredentialLocaleBrandingEntity = await dbConnection
305
+ .getRepository(CredentialLocaleBrandingEntity)
306
+ .save(credentialLocaleBrandingEntity)
307
+
308
+ expect(fromDb).toBeDefined()
309
+ expect(fromDb?.alias).toEqual(localeBranding.alias)
310
+ expect(fromDb?.locale).toEqual(localeBranding.locale)
311
+ expect(fromDb?.description).toEqual(localeBranding.description)
312
+ expect(fromDb?.logo).toBeDefined()
313
+ expect(fromDb?.logo!.uri).toEqual(localeBranding.logo!.uri)
314
+ expect(fromDb?.logo!.alt).toEqual(localeBranding.logo!.alt)
315
+ expect(fromDb?.logo!.mediaType).toEqual(localeBranding.logo!.mediaType)
316
+ expect(fromDb?.logo!.dimensions).toBeDefined()
317
+ expect(fromDb?.logo!.dimensions!.width).toEqual(localeBranding.logo!.dimensions!.width)
318
+ expect(fromDb?.logo!.dimensions!.height).toEqual(localeBranding.logo!.dimensions!.height)
319
+ expect(fromDb?.background).toBeDefined()
320
+ expect(fromDb?.background!.color).toEqual(localeBranding.background!.color)
321
+ expect(fromDb?.background!.image).toBeDefined()
322
+ expect(fromDb?.background!.image!.uri).toEqual(localeBranding.background!.image!.uri)
323
+ expect(fromDb?.background!.image!.alt).toEqual(localeBranding.background!.image!.alt)
324
+ expect(fromDb?.background!.image!.mediaType).toEqual(localeBranding.background!.image!.mediaType)
325
+ expect(fromDb?.background!.image!.dimensions).toBeDefined()
326
+ expect(fromDb?.background!.image!.dimensions!.width).toEqual(localeBranding.background!.image!.dimensions!.width)
327
+ expect(fromDb?.background!.image!.dimensions!.height).toEqual(localeBranding.background!.image!.dimensions!.height)
328
+ expect(fromDb?.text).toBeDefined()
329
+ expect(fromDb?.text!.color).toEqual(localeBranding.text!.color)
330
+ })
331
+
332
+ it('Should set creation date when saving credential locale branding', async (): Promise<void> => {
333
+ const localeBranding: IBasicCredentialLocaleBranding = {
334
+ alias: 'credentialAlias',
335
+ locale: 'en-US',
336
+ }
337
+
338
+ const credentialLocaleBrandingEntity: CredentialLocaleBrandingEntity = credentialLocaleBrandingEntityFrom(localeBranding)
339
+ const repository: Repository<CredentialLocaleBrandingEntity> = await dbConnection.getRepository(CredentialLocaleBrandingEntity)
340
+ const fromDb: CredentialLocaleBrandingEntity = await repository.save(credentialLocaleBrandingEntity)
341
+ expect(fromDb).toBeDefined()
342
+
343
+ const result: CredentialLocaleBrandingEntity | null = await repository.findOne({ where: { id: fromDb.id } })
344
+
345
+ expect(result).toBeDefined()
346
+ expect(result?.createdAt).toBeDefined()
347
+ })
348
+
349
+ it('Should delete credential branding', async (): Promise<void> => {
350
+ const credentialBranding: IBasicCredentialBranding = {
351
+ issuerCorrelationId: 'issuerCorrelationId',
352
+ vcHash: 'vcHash',
353
+ localeBranding: [
354
+ {
355
+ alias: 'credentialTypeAlias',
356
+ locale: 'en-US',
357
+ },
358
+ ],
359
+ }
360
+
361
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
362
+ const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
363
+ const fromDb: CredentialBrandingEntity = await repository.save(credentialBrandingEntity)
364
+ expect(fromDb).toBeDefined()
365
+
366
+ await repository.delete({ id: fromDb.id })
367
+
368
+ await expect(
369
+ await repository.findOne({
370
+ where: { id: fromDb.id },
371
+ }),
372
+ ).toBeNull()
373
+ })
374
+
375
+ it('Should delete credential locale branding', async (): Promise<void> => {
376
+ const credentialBranding: IBasicCredentialBranding = {
377
+ issuerCorrelationId: 'issuerCorrelationId',
378
+ vcHash: 'vcHash',
379
+ localeBranding: [
380
+ {
381
+ alias: 'issuerAlias',
382
+ locale: 'en-US',
383
+ },
384
+ ],
385
+ }
386
+
387
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
388
+ const credentialBrandingRepository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
389
+ const fromDb: CredentialBrandingEntity = await credentialBrandingRepository.save(credentialBrandingEntity)
390
+ expect(fromDb).toBeDefined()
391
+
392
+ const localeBrandingRepository: Repository<CredentialLocaleBrandingEntity> = await dbConnection.getRepository(CredentialLocaleBrandingEntity)
393
+ await localeBrandingRepository.delete({ id: fromDb.localeBranding[0].id })
394
+
395
+ await expect(
396
+ await localeBrandingRepository.findOne({
397
+ where: { id: fromDb.id },
398
+ }),
399
+ ).toBeNull()
400
+
401
+ const result: CredentialBrandingEntity | null = await credentialBrandingRepository.findOne({ where: { id: fromDb.id } })
402
+ expect(result?.localeBranding.length).toEqual(0)
403
+ })
404
+
405
+ it('Should update last updated date when updating credential branding', async (): Promise<void> => {
406
+ const credentialBranding: IBasicCredentialBranding = {
407
+ issuerCorrelationId: 'issuerCorrelationId',
408
+ vcHash: 'vcHash',
409
+ localeBranding: [
410
+ {
411
+ alias: 'credentialTypeAlias',
412
+ locale: 'en-US',
413
+ },
414
+ ],
415
+ }
416
+
417
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
418
+ const repository: Repository<CredentialBrandingEntity> = await dbConnection.getRepository(CredentialBrandingEntity)
419
+ const fromDb: CredentialBrandingEntity = await repository.save(credentialBrandingEntity)
420
+ expect(fromDb).toBeDefined()
421
+
422
+ const updatedCredentialBranding = {
423
+ ...fromDb,
424
+ vcHash: 'newVcHash',
425
+ }
426
+
427
+ const result: CredentialBrandingEntity = await repository.save(updatedCredentialBranding)
428
+
429
+ expect(result).toBeDefined()
430
+ expect(result?.lastUpdatedAt).not.toEqual(fromDb?.lastUpdatedAt)
431
+ })
432
+
433
+ it('Should update last updated date when updating credential locale branding', async (): Promise<void> => {
434
+ const credentialBranding: IBasicCredentialBranding = {
435
+ issuerCorrelationId: 'issuerCorrelationId',
436
+ vcHash: 'vcHash',
437
+ localeBranding: [
438
+ {
439
+ alias: 'credentialTypeAlias',
440
+ locale: 'en-US',
441
+ },
442
+ ],
443
+ }
444
+
445
+ const credentialBrandingEntity: CredentialBrandingEntity = credentialBrandingEntityFrom(credentialBranding)
446
+ const fromDb: CredentialBrandingEntity = await dbConnection.getRepository(CredentialBrandingEntity).save(credentialBrandingEntity)
447
+ expect(fromDb).toBeDefined()
448
+ expect(fromDb?.localeBranding.length).toEqual(1)
449
+
450
+ const updatedCredentialLocaleBranding = {
451
+ ...fromDb.localeBranding[0],
452
+ alias: 'newCredentialTypeAlias',
453
+ }
454
+
455
+ const result: CredentialLocaleBrandingEntity = await dbConnection
456
+ .getRepository(CredentialLocaleBrandingEntity)
457
+ .save(updatedCredentialLocaleBranding)
458
+
459
+ expect(result).toBeDefined()
460
+ expect(result?.lastUpdatedAt).not.toEqual(fromDb?.localeBranding[0].lastUpdatedAt)
461
+ })
462
+
463
+ // Issuer tests
464
+
465
+ it('Should save issuer branding to database', async (): Promise<void> => {
466
+ const issuerBranding: IBasicIssuerBranding = {
467
+ issuerCorrelationId: 'issuerCorrelationId',
468
+ localeBranding: [
469
+ {
470
+ alias: 'issuerAlias',
471
+ locale: 'en-US',
472
+ logo: {
473
+ uri: 'data:image/jpeg;base64,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',
474
+ mediaType: 'image/jpeg',
475
+ alt: 'Sphereon logo',
476
+ dimensions: {
477
+ width: 200,
478
+ height: 200,
479
+ },
480
+ },
481
+ description: 'Sphereon issuer branding',
482
+ background: {
483
+ color: '#7C1010',
484
+ image: {
485
+ uri: 'data:image/png;base64,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',
486
+ alt: 'Sphereon background',
487
+ mediaType: 'image/png',
488
+ dimensions: {
489
+ width: 262,
490
+ height: 116,
491
+ },
492
+ },
493
+ },
494
+ text: {
495
+ color: '#000000',
496
+ },
497
+ },
498
+ ],
499
+ }
500
+
501
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
502
+ const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
503
+
504
+ expect(fromDb).toBeDefined()
505
+ expect(fromDb?.id).toBeDefined()
506
+ expect(fromDb?.issuerCorrelationId).toEqual(issuerBranding.issuerCorrelationId)
507
+ expect(fromDb?.localeBranding).toBeDefined()
508
+ expect(fromDb?.localeBranding.length).toEqual(1)
509
+ expect(fromDb?.localeBranding[0].alias).toEqual(issuerBranding.localeBranding[0].alias)
510
+ expect(fromDb?.localeBranding[0].locale).toEqual(issuerBranding.localeBranding[0].locale)
511
+ expect(fromDb?.localeBranding[0].description).toEqual(issuerBranding.localeBranding[0].description)
512
+ expect(fromDb?.localeBranding[0].logo).toBeDefined()
513
+ expect(fromDb?.localeBranding[0].logo!.uri).toEqual(issuerBranding.localeBranding[0].logo!.uri)
514
+ expect(fromDb?.localeBranding[0].logo!.alt).toEqual(issuerBranding.localeBranding[0].logo!.alt)
515
+ expect(fromDb?.localeBranding[0].logo!.mediaType).toEqual(issuerBranding.localeBranding[0].logo!.mediaType)
516
+ expect(fromDb?.localeBranding[0].logo!.dimensions).toBeDefined()
517
+ expect(fromDb?.localeBranding[0].logo!.dimensions!.width).toEqual(issuerBranding.localeBranding[0].logo!.dimensions!.width)
518
+ expect(fromDb?.localeBranding[0].logo!.dimensions!.height).toEqual(issuerBranding.localeBranding[0].logo!.dimensions!.height)
519
+ expect(fromDb?.localeBranding[0].background).toBeDefined()
520
+ expect(fromDb?.localeBranding[0].background!.color).toEqual(issuerBranding.localeBranding[0].background!.color)
521
+ expect(fromDb?.localeBranding[0].background!.image).toBeDefined()
522
+ expect(fromDb?.localeBranding[0].background!.image!.uri).toEqual(issuerBranding.localeBranding[0].background!.image!.uri)
523
+ expect(fromDb?.localeBranding[0].background!.image!.alt).toEqual(issuerBranding.localeBranding[0].background!.image!.alt)
524
+ expect(fromDb?.localeBranding[0].background!.image!.mediaType).toEqual(issuerBranding.localeBranding[0].background!.image!.mediaType)
525
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions).toBeDefined()
526
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions!.width).toEqual(
527
+ issuerBranding.localeBranding[0].background!.image!.dimensions!.width,
528
+ )
529
+ expect(fromDb?.localeBranding[0].background!.image!.dimensions!.height).toEqual(
530
+ issuerBranding.localeBranding[0].background!.image!.dimensions!.height,
531
+ )
532
+ expect(fromDb?.localeBranding[0].text).toBeDefined()
533
+ expect(fromDb?.localeBranding[0].text!.color).toEqual(issuerBranding.localeBranding[0].text!.color)
534
+ expect(fromDb?.createdAt).toBeDefined()
535
+ expect(fromDb?.lastUpdatedAt).toBeDefined()
536
+ })
537
+
538
+ it('Should enforce unique issuerCorrelationId for an issuer branding', async (): Promise<void> => {
539
+ const issuerCorrelationId = 'issuerCorrelationId'
540
+ const issuerBranding1: IBasicIssuerBranding = {
541
+ issuerCorrelationId,
542
+ localeBranding: [
543
+ {
544
+ alias: 'issuerAlias',
545
+ locale: 'en-US',
546
+ },
547
+ ],
548
+ }
549
+ const issuerBrandingEntity1: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding1)
550
+ const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
551
+ await repository.save(issuerBrandingEntity1)
552
+
553
+ const issuerBranding2: IBasicIssuerBranding = {
554
+ issuerCorrelationId,
555
+ localeBranding: [
556
+ {
557
+ alias: 'issuerAlias',
558
+ locale: 'en-US',
559
+ },
560
+ ],
561
+ }
562
+ const issuerBrandingEntity2: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding2)
563
+
564
+ await expect(repository.save(issuerBrandingEntity2)).rejects.toThrowError(
565
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: IssuerBranding.issuerCorrelationId',
566
+ )
567
+ })
568
+
569
+ it('should throw error when saving issuer branding with blank issuerCorrelationId', async (): Promise<void> => {
570
+ const issuerBranding: IBasicIssuerBranding = {
571
+ issuerCorrelationId: '',
572
+ localeBranding: [
573
+ {
574
+ alias: 'issuerTypeAlias',
575
+ locale: 'en-US',
576
+ },
577
+ ],
578
+ }
579
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
580
+
581
+ await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
582
+ 'Blank issuerCorrelationIds are not allowed',
583
+ )
584
+ })
585
+
586
+ it('Should throw error when saving issuer branding to database without branding', async (): Promise<void> => {
587
+ const issuerBranding: IBasicIssuerBranding = {
588
+ issuerCorrelationId: 'issuerCorrelationId',
589
+ localeBranding: [],
590
+ }
591
+
592
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
593
+ await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrow('localeBranding cannot be empty')
594
+ })
595
+
596
+ it('Should save issuer branding with multiple locales to database', async (): Promise<void> => {
597
+ const issuerBranding: IBasicIssuerBranding = {
598
+ issuerCorrelationId: 'issuerCorrelationId',
599
+ localeBranding: [
600
+ {
601
+ alias: 'issuerAlias1',
602
+ locale: 'en-US',
603
+ },
604
+ {
605
+ alias: 'issuerAlias2',
606
+ locale: 'en-GB',
607
+ },
608
+ {
609
+ alias: 'issuerAlias3',
610
+ },
611
+ ],
612
+ }
613
+
614
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
615
+ const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
616
+
617
+ expect(fromDb).toBeDefined()
618
+ expect(fromDb?.localeBranding).toBeDefined()
619
+ expect(fromDb?.localeBranding.length).toEqual(3)
620
+ })
621
+
622
+ it('Should enforce unique locale for an issuer branding', async (): Promise<void> => {
623
+ const issuerBranding: IBasicIssuerBranding = {
624
+ issuerCorrelationId: 'issuerCorrelationId',
625
+ localeBranding: [
626
+ {
627
+ alias: 'issuerAlias1',
628
+ locale: 'en-US',
629
+ },
630
+ {
631
+ alias: 'issuerAlias2',
632
+ locale: 'en-US',
633
+ },
634
+ ],
635
+ }
636
+
637
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
638
+
639
+ await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
640
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.issuerBrandingId, BaseLocaleBranding.locale',
641
+ )
642
+ })
643
+
644
+ it('Should enforce unique null locale for an issuer branding', async (): Promise<void> => {
645
+ const issuerBranding: IBasicIssuerBranding = {
646
+ issuerCorrelationId: 'issuerCorrelationId',
647
+ localeBranding: [
648
+ {
649
+ alias: 'issuerAlias1',
650
+ },
651
+ {
652
+ alias: 'issuerAlias2',
653
+ },
654
+ ],
655
+ }
656
+
657
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
658
+
659
+ await expect(dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)).rejects.toThrowError(
660
+ 'SQLITE_CONSTRAINT: UNIQUE constraint failed: BaseLocaleBranding.issuerBrandingId, BaseLocaleBranding.locale',
661
+ )
662
+ })
663
+
664
+ it('Should save issuer locale branding to database', async (): Promise<void> => {
665
+ const localeBranding: IBasicIssuerLocaleBranding = {
666
+ alias: 'credentialAlias',
667
+ locale: 'en-US',
668
+ logo: {
669
+ uri: 'data:image/jpeg;base64,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',
670
+ mediaType: 'image/jpeg',
671
+ alt: 'Sphereon logo',
672
+ dimensions: {
673
+ width: 200,
674
+ height: 200,
675
+ },
676
+ },
677
+ description: 'Sphereon issuer branding',
678
+ background: {
679
+ color: '#7C1010',
680
+ image: {
681
+ uri: 'data:image/png;base64,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',
682
+ alt: 'Sphereon background',
683
+ mediaType: 'image/png',
684
+ dimensions: {
685
+ width: 262,
686
+ height: 116,
687
+ },
688
+ },
689
+ },
690
+ text: {
691
+ color: '#000000',
692
+ },
693
+ }
694
+
695
+ const issuerLocaleBrandingEntity: IssuerLocaleBrandingEntity = issuerLocaleBrandingEntityFrom(localeBranding)
696
+ const fromDb: IssuerLocaleBrandingEntity = await dbConnection.getRepository(CredentialLocaleBrandingEntity).save(issuerLocaleBrandingEntity)
697
+
698
+ expect(fromDb).toBeDefined()
699
+ expect(fromDb?.alias).toEqual(localeBranding.alias)
700
+ expect(fromDb?.locale).toEqual(localeBranding.locale)
701
+ expect(fromDb?.description).toEqual(localeBranding.description)
702
+ expect(fromDb?.logo).toBeDefined()
703
+ expect(fromDb?.logo!.uri).toEqual(localeBranding.logo!.uri)
704
+ expect(fromDb?.logo!.alt).toEqual(localeBranding.logo!.alt)
705
+ expect(fromDb?.logo!.mediaType).toEqual(localeBranding.logo!.mediaType)
706
+ expect(fromDb?.logo!.dimensions).toBeDefined()
707
+ expect(fromDb?.logo!.dimensions!.width).toEqual(localeBranding.logo!.dimensions!.width)
708
+ expect(fromDb?.logo!.dimensions!.height).toEqual(localeBranding.logo!.dimensions!.height)
709
+ expect(fromDb?.background).toBeDefined()
710
+ expect(fromDb?.background!.color).toEqual(localeBranding.background!.color)
711
+ expect(fromDb?.background!.image).toBeDefined()
712
+ expect(fromDb?.background!.image!.uri).toEqual(localeBranding.background!.image!.uri)
713
+ expect(fromDb?.background!.image!.alt).toEqual(localeBranding.background!.image!.alt)
714
+ expect(fromDb?.background!.image!.mediaType).toEqual(localeBranding.background!.image!.mediaType)
715
+ expect(fromDb?.background!.image!.dimensions).toBeDefined()
716
+ expect(fromDb?.background!.image!.dimensions!.width).toEqual(localeBranding.background!.image!.dimensions!.width)
717
+ expect(fromDb?.background!.image!.dimensions!.height).toEqual(localeBranding.background!.image!.dimensions!.height)
718
+ expect(fromDb?.text).toBeDefined()
719
+ expect(fromDb?.text!.color).toEqual(localeBranding.text!.color)
720
+ })
721
+
722
+ it('Should set creation date when saving issuer locale branding', async (): Promise<void> => {
723
+ const localeBranding: IBasicIssuerLocaleBranding = {
724
+ alias: 'issuerAlias',
725
+ locale: 'en-US',
726
+ }
727
+
728
+ const issuerLocaleBrandingEntity: IssuerLocaleBrandingEntity = issuerLocaleBrandingEntityFrom(localeBranding)
729
+ const repository: Repository<IssuerLocaleBrandingEntity> = await dbConnection.getRepository(IssuerLocaleBrandingEntity)
730
+ const fromDb: IssuerLocaleBrandingEntity = await repository.save(issuerLocaleBrandingEntity)
731
+ expect(fromDb).toBeDefined()
732
+
733
+ const result: IssuerLocaleBrandingEntity | null = await repository.findOne({ where: { id: fromDb.id } })
734
+
735
+ expect(result).toBeDefined()
736
+ expect(result?.createdAt).toBeDefined()
737
+ })
738
+
739
+ it('Should delete issuer branding', async (): Promise<void> => {
740
+ const issuerBranding: IBasicIssuerBranding = {
741
+ issuerCorrelationId: 'issuerCorrelationId',
742
+ localeBranding: [
743
+ {
744
+ alias: 'issuerAlias',
745
+ locale: 'en-US',
746
+ },
747
+ ],
748
+ }
749
+
750
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
751
+ const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
752
+ const fromDb: IssuerBrandingEntity = await repository.save(issuerBrandingEntity)
753
+ expect(fromDb).toBeDefined()
754
+
755
+ await repository.delete({ id: fromDb.id })
756
+
757
+ await expect(
758
+ await repository.findOne({
759
+ where: { id: fromDb.id },
760
+ }),
761
+ ).toBeNull()
762
+ })
763
+
764
+ it('Should delete issuer locale branding', async (): Promise<void> => {
765
+ const issuerBranding: IBasicIssuerBranding = {
766
+ issuerCorrelationId: 'issuerCorrelationId',
767
+ localeBranding: [
768
+ {
769
+ alias: 'issuerAlias',
770
+ locale: 'en-US',
771
+ },
772
+ ],
773
+ }
774
+
775
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
776
+ const issuerBrandingRepository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
777
+ const fromDb: IssuerBrandingEntity = await issuerBrandingRepository.save(issuerBrandingEntity)
778
+ expect(fromDb).toBeDefined()
779
+
780
+ const localeBrandingRepository: Repository<IssuerLocaleBrandingEntity> = await dbConnection.getRepository(IssuerLocaleBrandingEntity)
781
+ await localeBrandingRepository.delete({ id: fromDb.localeBranding[0].id })
782
+
783
+ await expect(
784
+ await localeBrandingRepository.findOne({
785
+ where: { id: fromDb.id },
786
+ }),
787
+ ).toBeNull()
788
+
789
+ const result: IssuerBrandingEntity | null = await issuerBrandingRepository.findOne({ where: { id: fromDb.id } })
790
+ expect(result?.localeBranding.length).toEqual(0)
791
+ })
792
+
793
+ it('Should update last updated date when updating issuer branding', async (): Promise<void> => {
794
+ const issuerBranding: IBasicIssuerBranding = {
795
+ issuerCorrelationId: 'issuerCorrelationId',
796
+ localeBranding: [
797
+ {
798
+ alias: 'issuerAlias',
799
+ locale: 'en-US',
800
+ },
801
+ ],
802
+ }
803
+
804
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
805
+ const repository: Repository<IssuerBrandingEntity> = await dbConnection.getRepository(IssuerBrandingEntity)
806
+ const fromDb: IssuerBrandingEntity = await repository.save(issuerBrandingEntity)
807
+ expect(fromDb).toBeDefined()
808
+
809
+ const updatedIssuerBranding = {
810
+ ...fromDb,
811
+ issuerCorrelationId: 'newIssuerCorrelationId',
812
+ }
813
+
814
+ const result: IssuerBrandingEntity = await repository.save(updatedIssuerBranding)
815
+
816
+ expect(result).toBeDefined()
817
+ expect(result?.lastUpdatedAt).not.toEqual(fromDb?.lastUpdatedAt)
818
+ })
819
+
820
+ it('Should update last updated date when updating issuer locale branding', async (): Promise<void> => {
821
+ const issuerBranding: IBasicIssuerBranding = {
822
+ issuerCorrelationId: 'issuerCorrelationId',
823
+ localeBranding: [
824
+ {
825
+ alias: 'issuerAlias',
826
+ locale: 'en-US',
827
+ },
828
+ ],
829
+ }
830
+
831
+ const issuerBrandingEntity: IssuerBrandingEntity = issuerBrandingEntityFrom(issuerBranding)
832
+ const fromDb: IssuerBrandingEntity = await dbConnection.getRepository(IssuerBrandingEntity).save(issuerBrandingEntity)
833
+ expect(fromDb).toBeDefined()
834
+ expect(fromDb?.localeBranding.length).toEqual(1)
835
+
836
+ const updatedIssuerLocaleBranding = {
837
+ ...fromDb.localeBranding[0],
838
+ alias: 'newIssuerAlias',
839
+ }
840
+
841
+ const result: IssuerLocaleBrandingEntity = await dbConnection.getRepository(IssuerLocaleBrandingEntity).save(updatedIssuerLocaleBranding)
842
+
843
+ expect(result).toBeDefined()
844
+ expect(result?.lastUpdatedAt).not.toEqual(fromDb?.localeBranding[0].lastUpdatedAt)
845
+ })
846
+ })