1
1
import { IWallet } from './types' ;
2
2
import { createWallet } from './wallet' ;
3
- import { createDIDock , createDIDProvider , IDIDProvider } from './did-provider' ;
3
+ import { createDIDock , createDIDKey , createDIDProvider , IDIDProvider } from './did-provider' ;
4
4
import { createAccountProvider } from './account-provider' ;
5
5
import { didServiceRPC } from '@docknetwork/wallet-sdk-wasm/src/services/dids' ;
6
6
@@ -69,7 +69,7 @@ describe('DID Provider', () => {
69
69
const didResolution = documents . find (
70
70
item => item . type === 'DIDResolutionResponse' ,
71
71
) ;
72
- expect ( documents . length ) . toBe ( 2 ) ;
72
+ expect ( documents . length ) . toBe ( 4 ) ;
73
73
expect ( didResolution ) . toBeDefined ( ) ;
74
74
expect ( keyDocument ) . toBeDefined ( ) ;
75
75
} ) ;
@@ -120,7 +120,7 @@ describe('DID Provider', () => {
120
120
) ;
121
121
122
122
expect ( keyDocuments . length ) . toBe ( 1 ) ;
123
- expect ( didDocument . length ) . toBe ( 1 ) ;
123
+ expect ( didDocument . length ) . toBe ( 2 ) ;
124
124
} ) ;
125
125
it ( 'expect to assert parameters' , async ( ) => {
126
126
await expect (
@@ -146,4 +146,58 @@ describe('DID Provider', () => {
146
146
) . rejects . toThrowError ( 'wallet is required' ) ;
147
147
} ) ;
148
148
} ) ;
149
+
150
+ describe ( 'create DID Key' , ( ) => {
151
+ it ( 'expect to create a DID Key' , async ( ) => {
152
+
153
+ jest . spyOn ( didServiceRPC , 'generateKeyDoc' ) . mockResolvedValueOnce ( {
154
+ id : 'did:key:abcde#key-1' ,
155
+ type : 'KeyDocument' ,
156
+ } ) ;
157
+
158
+ jest . spyOn ( didServiceRPC , 'keypairToDIDKeyDocument' ) . mockResolvedValueOnce ( {
159
+ didDocument : {
160
+ id : 'did:key:abcde#key-2' ,
161
+ type : 'DidDocument' ,
162
+ }
163
+ } ) ;
164
+
165
+ jest . spyOn ( didServiceRPC , 'getDIDResolution' ) . mockResolvedValueOnce ( {
166
+ id : new Date ( ) . getTime ( ) . toString ( ) ,
167
+ type : 'DIDResolutionResponse' ,
168
+ didDocument : {
169
+ id : 'did:key:abcde#key-2' ,
170
+ type : 'DidDocument' ,
171
+ } ,
172
+ correlation : [ ] ,
173
+ } ) ;
174
+
175
+ await didProvider . createDIDKey ( {
176
+ name : 'Test DID' ,
177
+ } ) ;
178
+
179
+ const keyDocuments = await wallet . getDocumentsByType ( 'KeyDocument' ) ;
180
+ const didDocument = await wallet . getDocumentsByType (
181
+ 'DIDResolutionResponse' ,
182
+ ) ;
183
+
184
+ expect ( keyDocuments . length ) . toBe ( 1 ) ;
185
+ expect ( didDocument . length ) . toBe ( 2 ) ;
186
+ } ) ;
187
+ it ( 'expect to assert parameters' , async ( ) => {
188
+
189
+ await expect (
190
+ didProvider . createDIDKey ( {
191
+ name : ''
192
+ } ) ,
193
+ ) . rejects . toThrowError ( 'name is required' ) ;
194
+
195
+ await expect (
196
+ createDIDKey ( {
197
+ name : 'Some name' ,
198
+ wallet : null ,
199
+ } ) ,
200
+ ) . rejects . toThrowError ( 'wallet is required' ) ;
201
+ } ) ;
202
+ } ) ;
149
203
} ) ;
0 commit comments