Skip to content

Commit cbb6bb8

Browse files
fix: add optional field and fix service in command
Signed-off-by: Axel Loupias <[email protected]>
1 parent f216b84 commit cbb6bb8

File tree

15 files changed

+65
-35
lines changed

15 files changed

+65
-35
lines changed

packages/ats/sdk/__tests__/fixtures/beneficiary/BeneficiaryFixture.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export const AddBeneficiaryCommandFixture =
4545
createFixture<AddBeneficiaryCommand>((command) => {
4646
command.securityId.as(() => HederaIdPropsFixture.create().value);
4747
command.beneficiary.as(() => HederaIdPropsFixture.create().value);
48-
command.data.as(() => '0x');
48+
command.data?.as(() => '0x');
4949
});
5050

5151
export const RemoveBeneficiaryCommandFixture =

packages/ats/sdk/__tests__/fixtures/bond/BondFixture.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ import {
255255
import AddBeneficiaryRequest from '@port/in/request/bond/AddBeneficiaryRequest';
256256
import RemoveBeneficiaryRequest from '@port/in/request/bond/RemoveBeneficiaryRequest';
257257
import UpdateBeneficiaryDataRequest from '@port/in/request/bond/UpdateBeneficiaryDataRequest';
258-
import GetBeneficiariesDataRequest from '@port/in/request/bond/GetBeneficiaryDataRequest';
259258

260259
export const SetCouponCommandFixture = createFixture<SetCouponCommand>(
261260
(command) => {
@@ -713,7 +712,7 @@ export const AddBeneficiaryRequestFixture =
713712
createFixture<AddBeneficiaryRequest>((request) => {
714713
request.securityId.as(() => HederaIdPropsFixture.create().value);
715714
request.beneficiaryId.as(() => HederaIdPropsFixture.create().value);
716-
request.data.as(() => '0x');
715+
request.data?.as(() => '0x');
717716
});
718717
export const UpdateBeneficiaryDataRequestFixture =
719718
createFixture<UpdateBeneficiaryDataRequest>((request) => {

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/addBeneficiary/AddBeneficiaryCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ export class AddBeneficiaryCommand extends Command<AddBeneficiaryCommandResponse
184184
constructor(
185185
public readonly securityId: string,
186186
public readonly beneficiary: string,
187-
public readonly data: string,
187+
public readonly data?: string,
188188
) {
189189
super();
190190
}

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/addBeneficiary/AddBeneficiaryCommandHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export class AddBeneficiaryCommandHandler
212212
await this.contractService.getContractEvmAddress(securityId);
213213

214214
const beneficiaryEvmAddress: EvmAddress =
215-
await this.contractService.getContractEvmAddress(beneficiary);
215+
await this.accountService.getAccountEvmAddress(beneficiary);
216216

217217
await this.validationService.checkPause(securityId);
218218

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/addBeneficiary/AddBeneficiaryCommandHandler.unit.test.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,14 @@ describe('AddBeneficiaryCommandHandler', () => {
248248
});
249249
});
250250
it('should successfully add beneficiary', async () => {
251-
contractServiceMock.getContractEvmAddress
252-
.mockResolvedValueOnce(evmAddress)
253-
.mockResolvedValueOnce(beneficiaryEvmAddress);
251+
contractServiceMock.getContractEvmAddress.mockResolvedValueOnce(
252+
evmAddress,
253+
);
254+
254255
accountServiceMock.getCurrentAccount.mockReturnValue(account);
256+
accountServiceMock.getAccountEvmAddress.mockResolvedValueOnce(
257+
beneficiaryEvmAddress,
258+
);
255259
validationServiceMock.checkPause.mockResolvedValue(undefined);
256260
validationServiceMock.checkRole.mockResolvedValue(undefined);
257261
validationServiceMock.checkIsNotBeneficiary.mockResolvedValue(true);
@@ -266,11 +270,12 @@ describe('AddBeneficiaryCommandHandler', () => {
266270
expect(result.transactionId).toBe(transactionId);
267271

268272
expect(contractServiceMock.getContractEvmAddress).toHaveBeenCalledTimes(
269-
2,
273+
1,
270274
);
271275
expect(validationServiceMock.checkPause).toHaveBeenCalledTimes(1);
272276
expect(validationServiceMock.checkRole).toHaveBeenCalledTimes(1);
273277
expect(accountServiceMock.getCurrentAccount).toHaveBeenCalledTimes(1);
278+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenCalledTimes(1);
274279
expect(
275280
transactionServiceMock.getHandler().addBeneficiary,
276281
).toHaveBeenCalledTimes(1);
@@ -287,8 +292,8 @@ describe('AddBeneficiaryCommandHandler', () => {
287292
1,
288293
command.securityId,
289294
);
290-
expect(contractServiceMock.getContractEvmAddress).toHaveBeenNthCalledWith(
291-
2,
295+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenNthCalledWith(
296+
1,
292297
command.beneficiary,
293298
);
294299

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/removeBeneficiary/RemoveBeneficiaryCommandHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export class RemoveBeneficiaryCommandHandler
212212
await this.contractService.getContractEvmAddress(securityId);
213213

214214
const beneficiaryEvmAddress: EvmAddress =
215-
await this.contractService.getContractEvmAddress(beneficiary);
215+
await this.accountService.getAccountEvmAddress(beneficiary);
216216

217217
await this.validationService.checkPause(securityId);
218218

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/removeBeneficiary/RemoveBeneficiaryCommandHandler.unit.test.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,13 @@ describe('RemoveBeneficiaryCommandHandler', () => {
248248
});
249249
});
250250
it('should successfully add beneficiary', async () => {
251-
contractServiceMock.getContractEvmAddress
252-
.mockResolvedValueOnce(evmAddress)
253-
.mockResolvedValueOnce(beneficiaryEvmAddress);
251+
contractServiceMock.getContractEvmAddress.mockResolvedValueOnce(
252+
evmAddress,
253+
);
254254
accountServiceMock.getCurrentAccount.mockReturnValue(account);
255+
accountServiceMock.getAccountEvmAddress.mockResolvedValueOnce(
256+
beneficiaryEvmAddress,
257+
);
255258
validationServiceMock.checkPause.mockResolvedValue(undefined);
256259
validationServiceMock.checkRole.mockResolvedValue(undefined);
257260
validationServiceMock.checkIsBeneficiary.mockResolvedValue(true);
@@ -266,11 +269,12 @@ describe('RemoveBeneficiaryCommandHandler', () => {
266269
expect(result.transactionId).toBe(transactionId);
267270

268271
expect(contractServiceMock.getContractEvmAddress).toHaveBeenCalledTimes(
269-
2,
272+
1,
270273
);
271274
expect(validationServiceMock.checkPause).toHaveBeenCalledTimes(1);
272275
expect(validationServiceMock.checkRole).toHaveBeenCalledTimes(1);
273276
expect(accountServiceMock.getCurrentAccount).toHaveBeenCalledTimes(1);
277+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenCalledTimes(1);
274278
expect(
275279
transactionServiceMock.getHandler().removeBeneficiary,
276280
).toHaveBeenCalledTimes(1);
@@ -287,8 +291,8 @@ describe('RemoveBeneficiaryCommandHandler', () => {
287291
1,
288292
command.securityId,
289293
);
290-
expect(contractServiceMock.getContractEvmAddress).toHaveBeenNthCalledWith(
291-
2,
294+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenNthCalledWith(
295+
1,
292296
command.beneficiary,
293297
);
294298

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/updateBeneficiaryData/UpdateBeneficiaryDataCommandHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export class UpdateBeneficiaryDataCommandHandler
212212
await this.contractService.getContractEvmAddress(securityId);
213213

214214
const beneficiaryEvmAddress: EvmAddress =
215-
await this.contractService.getContractEvmAddress(beneficiary);
215+
await this.accountService.getAccountEvmAddress(beneficiary);
216216

217217
await this.validationService.checkPause(securityId);
218218

packages/ats/sdk/src/app/usecase/command/security/beneficiaries/updateBeneficiaryData/UpdateBeneficiaryDataCommandHandler.unit.test.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,13 @@ describe('UpdateBeneficiaryDataCommandHandler', () => {
248248
});
249249
});
250250
it('should successfully update beneficiary', async () => {
251-
contractServiceMock.getContractEvmAddress
252-
.mockResolvedValueOnce(evmAddress)
253-
.mockResolvedValueOnce(beneficiaryEvmAddress);
251+
contractServiceMock.getContractEvmAddress.mockResolvedValueOnce(
252+
evmAddress,
253+
);
254254
accountServiceMock.getCurrentAccount.mockReturnValue(account);
255+
accountServiceMock.getAccountEvmAddress.mockResolvedValueOnce(
256+
beneficiaryEvmAddress,
257+
);
255258
validationServiceMock.checkPause.mockResolvedValue(undefined);
256259
validationServiceMock.checkRole.mockResolvedValue(undefined);
257260
validationServiceMock.checkIsBeneficiary.mockResolvedValue(true);
@@ -268,11 +271,12 @@ describe('UpdateBeneficiaryDataCommandHandler', () => {
268271
expect(result.transactionId).toBe(transactionId);
269272

270273
expect(contractServiceMock.getContractEvmAddress).toHaveBeenCalledTimes(
271-
2,
274+
1,
272275
);
273276
expect(validationServiceMock.checkPause).toHaveBeenCalledTimes(1);
274277
expect(validationServiceMock.checkRole).toHaveBeenCalledTimes(1);
275278
expect(accountServiceMock.getCurrentAccount).toHaveBeenCalledTimes(1);
279+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenCalledTimes(1);
276280
expect(
277281
transactionServiceMock.getHandler().updateBeneficiaryData,
278282
).toHaveBeenCalledTimes(1);
@@ -289,8 +293,8 @@ describe('UpdateBeneficiaryDataCommandHandler', () => {
289293
1,
290294
command.securityId,
291295
);
292-
expect(contractServiceMock.getContractEvmAddress).toHaveBeenNthCalledWith(
293-
2,
296+
expect(accountServiceMock.getAccountEvmAddress).toHaveBeenNthCalledWith(
297+
1,
294298
command.beneficiary,
295299
);
296300

packages/ats/sdk/src/app/usecase/query/security/beneficiary/getBeneficiaries/GetBeneficiariesQueryHandler.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ import { lazyInject } from '@core/decorator/LazyInjectDecorator';
214214
import EvmAddress from '@domain/context/contract/EvmAddress';
215215
import ContractService from '@service/contract/ContractService';
216216
import { GetBeneficiariesQueryError } from './error/GetBeneficiariesQueryError';
217+
import AccountService from '@service/account/AccountService';
217218

218219
@QueryHandler(GetBeneficiariesQuery)
219220
export class GetBeneficiariesQueryHandler
@@ -224,6 +225,8 @@ export class GetBeneficiariesQueryHandler
224225
private readonly contractService: ContractService,
225226
@lazyInject(RPCQueryAdapter)
226227
private readonly queryAdapter: RPCQueryAdapter,
228+
@lazyInject(AccountService)
229+
private readonly accountService: AccountService,
227230
) {}
228231

229232
async execute(
@@ -241,7 +244,13 @@ export class GetBeneficiariesQueryHandler
241244
pageSize,
242245
);
243246

244-
return new GetBeneficiariesQueryResponse(res);
247+
const beneficiariesIds = await Promise.all(
248+
res.map(async (b) => {
249+
return (await this.accountService.getAccountInfo(b)).id.toString();
250+
}),
251+
);
252+
253+
return new GetBeneficiariesQueryResponse(beneficiariesIds);
245254
} catch (error) {
246255
throw new GetBeneficiariesQueryError(error as Error);
247256
}

0 commit comments

Comments
 (0)