Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
olegnn committed Nov 13, 2024
1 parent 179b67a commit ae62818
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default function generateOffchainSignatureModuleTests(
) {
const test = itIf(filter);

describe(`Using ${didModule.constructor.name} and ${offchainSignatures.constructor.name}`, () => {
describe(`Checks ${didModule.constructor.name} and ${offchainSignatures.constructor.name} with all public keys and params`, () => {
test('Generates a `DIDDocument` with `OffchainPublicKey` and creates a `OffchainParameters` owned by this DID', async () => {
const did = DID.random();

Expand Down Expand Up @@ -129,15 +129,54 @@ export default function generateOffchainSignatureModuleTests(
});
});

const modules = [bbs, bbsPlus, ps];
const keysClasses = [BBSPublicKey, BBSPlusPublicKey, PSPublicKey];
const paramsClasses = [BBSParams, BBSPlusParams, PSParams];
for (let idx = 0; idx < keysClasses.length; idx++) {
const module = modules[idx];
const PublicKey = keysClasses[idx];
const Params = paramsClasses[idx];
test('Returns `null` in case of missing params', async () => {
const did = DID.random();
const keyPair = Ed25519Keypair.random();
const didKeypair = new DidKeypair([did, 1], keyPair);

const document = DIDDocument.create(did, [didKeypair.didKey()]);

const psParamsId = await offchainSignatures.nextParamsId(did);
const psParamsRef = new OffchainSignaturesParamsRef(did, psParamsId);

await didModule.createDocument(document, didKeypair);
const psKey = new PSPublicKey(
new PSPublicKeyValue(TypedBytes.random(1000), psParamsRef),
);

test(`Checks ${module.constructor.name}`, async () => {
expect(
await offchainSignatures.getParams(
did,
await offchainSignatures.nextParamsId(did),
),
).toBe(null);

await expect(() => psKey.withParams(offchainSignatures)).rejects.toThrow();
});
});

const cases = [
{
module: bbs,
PublicKey: BBSPublicKey,
Params: BBSParams,
},
{
module: bbsPlus,
PublicKey: BBSPlusPublicKey,
Params: BBSPlusParams,
},
{
module: ps,
PublicKey: PSPublicKey,
Params: PSParams,
},
];

describe.each(cases)(
'Checks basic workflow for each module',
({ module, PublicKey, Params }) => {
test(`Generates a \`DIDDocument\` with \`OffchainPublicKey\` and creates a \`OffchainParameters\` owned by this DID using ${module.constructor.name} with ${PublicKey.name} and ${Params.name}`, async () => {
const did = DID.random();

const keyPair = Ed25519Keypair.random();
Expand All @@ -156,6 +195,9 @@ export default function generateOffchainSignatureModuleTests(
stringToU8a(module.constructor.name),
),
);

expect(await module.getParams(did, id)).toEqual(null);

await module.addParams(id, params, did, didKeypair);

const key = new PublicKey(
Expand All @@ -177,31 +219,6 @@ export default function generateOffchainSignatureModuleTests(
params.toJSON(),
);
});
}

test('Returns `null` in case of missing params', async () => {
const did = DID.random();
const keyPair = Ed25519Keypair.random();
const didKeypair = new DidKeypair([did, 1], keyPair);

const document = DIDDocument.create(did, [didKeypair.didKey()]);

const psParamsId = await offchainSignatures.nextParamsId(did);
const psParamsRef = new OffchainSignaturesParamsRef(did, psParamsId);

await didModule.createDocument(document, didKeypair);
const psKey = new PSPublicKey(
new PSPublicKeyValue(TypedBytes.random(1000), psParamsRef),
);

expect(
await offchainSignatures.getParams(
did,
await offchainSignatures.nextParamsId(did),
),
).toBe(null);

await expect(() => psKey.withParams(offchainSignatures)).rejects.toThrow();
});
});
},
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@ import {
MultiApiOffchainSignaturesModule,
MultiApiDIDModule,
} from "@docknetwork/credential-sdk/modules";
import { DockDIDModule, DockOffchainSignaturesModule } from "../../../src";
import {
DockDIDModule,
DockOffchainSignaturesModule,
DockBBSModule,
DockBBSPlusModule,
DockPSModule,
} from "../../../src";
import {
FullNodeEndpoint,
TestAccountURI,
Expand Down Expand Up @@ -35,6 +41,9 @@ describe("BlobModule", () => {
{
did: new DockDIDModule(dock),
offchainSignatures: new DockOffchainSignaturesModule(dock),
bbs: new DockBBSModule(dock),
bbsPlus: new DockBBSPlusModule(dock),
ps: new DockPSModule(dock),
},
{
DID: DockDid,
Expand All @@ -48,6 +57,11 @@ describe("BlobModule", () => {
offchainSignatures: new MultiApiOffchainSignaturesModule([
new DockOffchainSignaturesModule(dock),
]),
bbs: new MultiApiOffchainSignaturesModule([new DockBBSModule(dock)]),
bbsPlus: new MultiApiOffchainSignaturesModule([
new DockBBSPlusModule(dock),
]),
ps: new MultiApiOffchainSignaturesModule([new DockPSModule(dock)]),
},
{
DID: DockDid,
Expand Down

0 comments on commit ae62818

Please sign in to comment.