Skip to content

Commit 64a592a

Browse files
authored
Merge pull request #171 from docknetwork/fix/did-creation
fix: did creation bug
2 parents 15518ad + be45142 commit 64a592a

File tree

2 files changed

+58
-4
lines changed

2 files changed

+58
-4
lines changed

packages/core/src/did-provider.test.ts

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {IWallet} from './types';
22
import {createWallet} from './wallet';
3-
import {createDIDock, createDIDProvider, IDIDProvider} from './did-provider';
3+
import {createDIDock, createDIDKey, createDIDProvider, IDIDProvider} from './did-provider';
44
import {createAccountProvider} from './account-provider';
55
import {didServiceRPC} from '@docknetwork/wallet-sdk-wasm/src/services/dids';
66

@@ -69,7 +69,7 @@ describe('DID Provider', () => {
6969
const didResolution = documents.find(
7070
item => item.type === 'DIDResolutionResponse',
7171
);
72-
expect(documents.length).toBe(2);
72+
expect(documents.length).toBe(4);
7373
expect(didResolution).toBeDefined();
7474
expect(keyDocument).toBeDefined();
7575
});
@@ -120,7 +120,7 @@ describe('DID Provider', () => {
120120
);
121121

122122
expect(keyDocuments.length).toBe(1);
123-
expect(didDocument.length).toBe(1);
123+
expect(didDocument.length).toBe(2);
124124
});
125125
it('expect to assert parameters', async () => {
126126
await expect(
@@ -146,4 +146,58 @@ describe('DID Provider', () => {
146146
).rejects.toThrowError('wallet is required');
147147
});
148148
});
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+
});
149203
});

packages/react-native/lib/didHooks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function useDIDManagement() {
2525
case 'diddock':
2626
return didProvider.createDIDock({ address, name });
2727
case 'didkey':
28-
return didProvider.createDidKey({ derivePath, name, type });
28+
return didProvider.createDIDKey({ derivePath, name, type });
2929
default:
3030
throw Error('Invalid DID type');
3131
}

0 commit comments

Comments
 (0)