Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { ProofExchangeRecord, ProofState } from '@aries-framework/core';
import { Test } from '@nestjs/testing';
import { mockConfigModule } from '../../../config/__tests__/mockConfig.js';
import { AgentModule } from '../../agent.module.js';
import { AnonCredsProofsController } from '../anoncredsProofs.controller.js';
import { AnonCredsProofsService } from '../anoncredsProofs.service.js';
describe('AnonCredsProofsController', () => {
let proofsController: AnonCredsProofsController;
let proofsService: AnonCredsProofsService;
beforeEach(async () => {
const moduleRef = await Test.createTestingModule({
imports: [mockConfigModule(), AgentModule],
controllers: [AnonCredsProofsController],
providers: [AnonCredsProofsService],
}).compile();
proofsService = moduleRef.get(AnonCredsProofsService);
proofsController = moduleRef.get(AnonCredsProofsController);
});
it('get all', async () => {
const result: Array<ProofExchangeRecord> = [];
jest.spyOn(proofsService, 'getAll').mockResolvedValue(result);
const event = await proofsController.getAll({
tenantId: 'some-id',
});
expect(event.data).toStrictEqual(result);
});
it('get by id', async () => {
const result: ProofExchangeRecord | null = null;
jest.spyOn(proofsService, 'getById').mockResolvedValue(result);
const event = await proofsController.getById({
tenantId: 'some-id',
proofRecordId: 'some-id',
});
expect(event.data).toStrictEqual(result);
});
it('request', async () => {
const result = new ProofExchangeRecord({
state: ProofState.Done,
threadId: 'some-id',
protocolVersion: 'v2',
});
jest.spyOn(proofsService, 'request').mockResolvedValue(result);
const event = await proofsController.request({
tenantId: 'some-id',
connectionId: 'some-id',
name: 'My New Proof Request',
requestedAttributes: {
identity: {
names: ['name'],
restrictions: [{ issuer_id: 'did:web:government.org' }],
},
},
requestedPredicates: {
'age > 18': {
name: 'age',
restrictions: [{ issuer_id: 'did:web:government.org' }],
predicateType: '>',
predicateValue: 18,
},
},
});
expect(event.data).toStrictEqual(result);
});
});