Skip to content

Commit 73687e3

Browse files
author
Victor Wiebe
committed
fix: controller transfer full coverage
1 parent 5562670 commit 73687e3

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

src/procedures/__tests__/ControllerTransfer.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ import { ControllerTransfer } from '../../procedures/ControllerTransfer';
1010
import * as controllerTransferModule from '../../procedures/ControllerTransfer';
1111
import { Procedure } from '~/procedures/Procedure';
1212
import { PolymathError } from '~/PolymathError';
13-
import { ErrorCode, Feature, ProcedureType } from '~/types';
13+
import { ErrorCode, ProcedureType } from '~/types';
1414
import { mockFactories } from '~/testUtils/mockFactories';
1515
import * as shareholderFactoryModule from '~/entities/factories/ShareholderFactory';
16+
import { Factories } from '../../Context';
17+
import { Shareholder } from '~/entities';
1618

1719
const params = {
1820
symbol: 'TEST1',
@@ -31,6 +33,7 @@ describe('ControllerTransfer', () => {
3133
let tokenFactoryMock: MockManager<tokenFactoryModule.MockedTokenFactoryObject>;
3234
let securityTokenMock: MockManager<contractWrappersModule.SecurityToken_3_0_0>;
3335
let shareholderFactoryMock: MockManager<shareholderFactoryModule.ShareholderFactory>;
36+
let factoriesMockedSetup: Factories;
3437

3538
beforeEach(() => {
3639
// Mock the context, wrappers, and tokenFactory to test CreateCheckpoint
@@ -53,10 +56,9 @@ describe('ControllerTransfer', () => {
5356
contextMock.set('contractWrappers', wrappersMock.getMockInstance());
5457
wrappersMock.set('tokenFactory', tokenFactoryMock.getMockInstance());
5558
shareholderFactoryMock = ImportMock.mockClass(shareholderFactoryModule, 'ShareholderFactory');
56-
shareholderFactoryMock.mock('refresh', Promise.resolve([undefined, undefined]));
57-
const factoryMockSetup = mockFactories();
58-
factoryMockSetup.shareholderFactory = shareholderFactoryMock.getMockInstance();
59-
contextMock.set('factories', factoryMockSetup);
59+
factoriesMockedSetup = mockFactories();
60+
factoriesMockedSetup.shareholderFactory = shareholderFactoryMock.getMockInstance();
61+
contextMock.set('factories', factoriesMockedSetup);
6062

6163
// Instantiate ControllerTransfer
6264
target = new ControllerTransfer(params, contextMock.getMockInstance());
@@ -158,16 +160,18 @@ describe('ControllerTransfer', () => {
158160
);
159161
});
160162
});
161-
test('should successfully resolve controller transfer', async () => {
162-
const controllerTransferSpy = spy(controllerTransferModule, 'createControllerTransferResolver');
163163

164-
await controllerTransferModule.createControllerTransferResolver(
165-
mockFactories(),
164+
test('should successfully resolve controller transfer', async () => {
165+
const refreshMock = shareholderFactoryMock.mock('refresh', Promise.resolve(undefined));
166+
const resolverValue = await controllerTransferModule.createControllerTransferResolver(
167+
factoriesMockedSetup,
166168
params.symbol,
167169
params.from,
168170
params.to
169-
);
170-
171-
expect(controllerTransferSpy.callCount).toEqual(1);
171+
)();
172+
expect(refreshMock.getCall(0).calledWith(Shareholder.generateId));
173+
expect(refreshMock.getCall(1).calledWith(Shareholder.generateId));
174+
expect(await resolverValue()).toEqual([undefined, undefined]);
175+
expect(refreshMock.callCount).toEqual(2);
172176
});
173177
});

0 commit comments

Comments
 (0)