Skip to content

Commit d16d504

Browse files
authored
Merge pull request #745 from companieshouse/feat/roe-2732/add-payment-metadata-to-application-data
feat/roe-2732: add payment metadata to overseas entity object
2 parents 30a91ad + d369671 commit d16d504

File tree

4 files changed

+61
-21
lines changed

4 files changed

+61
-21
lines changed

src/services/overseas-entities/mapping.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ export const mapOverseasEntity = (body: OverseasEntity): OverseasEntityResource
5353
is_remove: (body.is_remove) ? body.is_remove : null,
5454
has_sold_land: mapHasSoldLand(body.has_sold_land),
5555
is_secure_register: mapIsSecureRegister(body.is_secure_register),
56-
who_is_registering: body.who_is_registering
56+
who_is_registering: body.who_is_registering,
57+
payment: body.payment ? body.payment : null
5758
};
5859
};
5960

@@ -83,7 +84,8 @@ export const mapOverseasEntityResource = (body: OverseasEntityResource): Oversea
8384
is_remove: body.is_remove,
8485
has_sold_land: mapHasSoldLandResource(body.has_sold_land),
8586
is_secure_register: mapIsSecureRegisterResource(body.is_secure_register),
86-
who_is_registering: body.who_is_registering
87+
who_is_registering: body.who_is_registering,
88+
payment: body.payment ? body.payment : null
8789
};
8890
};
8991

src/services/overseas-entities/types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/**
22
* Overseas Entity interface used within this SDK
33
*/
4+
import { CreatePaymentRequest } from "../payment";
45

56
export interface OverseasEntity {
67
entity_name?: string;
@@ -22,6 +23,7 @@ export interface OverseasEntity {
2223
has_sold_land?: string;
2324
is_secure_register?: string;
2425
who_is_registering?: string;
26+
payment?: CreatePaymentRequest;
2527
}
2628

2729
export interface OverseasEntityResource {
@@ -44,6 +46,7 @@ export interface OverseasEntityResource {
4446
has_sold_land?: boolean;
4547
is_secure_register?: boolean;
4648
who_is_registering?: string;
49+
payment?: CreatePaymentRequest;
4750
}
4851

4952
export interface OverseasEntityExtraDetails {

test/services/overseas-entities/overseas.entities.mock.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { RequestClient } from "../../../src";
2+
import { CreatePaymentRequest } from "../../../src/services/payment/types"
3+
import { mockAddress1 } from "../officer-filing/officer.filing.mock";
24
import {
35
Address,
46
BeneficialOwnerCorporate,
@@ -45,7 +47,6 @@ import {
4547
TrusteeInvolvedRelevantPeriodType,
4648
ChangeBeneficiaryRelevantPeriodType
4749
} from "../../../src/services/overseas-entities";
48-
import { mockAddress1 } from "../officer-filing/officer.filing.mock";
4950

5051
export const ADDRESS: Address = {
5152
property_name_number: "property name 1",
@@ -104,6 +105,13 @@ export const PRESENTER_OBJECT_MOCK: Presenter = {
104105
105106
};
106107

108+
export const PAYMENT_OBJECT_MOCK: CreatePaymentRequest = {
109+
resource: "http://api.base-domain/transactions/abc123/payment",
110+
state: "9a82902b-5292-4908-9898-14212b7ee1d5",
111+
redirectUri: "http://base-domain/service-name/transaction/abc1234/submission/xyz890/payment",
112+
reference: "ServiceNameReference_058235-235017-353205"
113+
};
114+
107115
export enum ENTITY_WHO_IS_REGISTERING {
108116
AGENT = "agent",
109117
SOMEONE_ELSE = "someone_else"
@@ -537,7 +545,8 @@ export const OVERSEAS_ENTITY_OBJECT_MOCK: OverseasEntity = {
537545
is_remove: undefined,
538546
has_sold_land: undefined,
539547
is_secure_register: undefined,
540-
who_is_registering: undefined
548+
who_is_registering: undefined,
549+
payment: PAYMENT_OBJECT_MOCK
541550
};
542551

543552
export const OVERSEAS_ENTITY_EXTRA_DETAILS_OBJECT_MOCK: OverseasEntityExtraDetails = {
@@ -701,7 +710,8 @@ export const OVERSEAS_ENTITY_RESOURCE_OBJECT_MOCK: OverseasEntityResource = {
701710
managing_officers_corporate: MANAGING_OFFICERS_CORPORATE_RESOURCE_MOCK_LIST,
702711
trusts: TRUSTS_RESOURCE_MOCK,
703712
update: UPDATE_RESOURCE_MOCK,
704-
remove: REMOVE_RESOURCE_MOCK
713+
remove: REMOVE_RESOURCE_MOCK,
714+
payment: PAYMENT_OBJECT_MOCK
705715
};
706716

707717
export const OVERSEAS_ENTITY_EXTRA_DETAILS_RESOURCE_MOCK: OverseasEntityExtraDetails = {

test/services/overseas-entities/overseas.entities.spec.ts

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@ import { expect } from "chai";
33
import sinon from "sinon";
44

55
import * as mockValues from "./overseas.entities.mock";
6+
import Mapping from "../../../src/mapping/mapping";
7+
import { ENTITY_WHO_IS_REGISTERING, PAYMENT_OBJECT_MOCK } from "./overseas.entities.mock";
8+
9+
import Resource, { ApiErrorResponse } from "../../../src/services/resource";
10+
11+
import {
12+
mapOverseasEntity,
13+
mapOverseasEntityResource,
14+
mapOverseasEntityExtraDetails
15+
} from "../../../src/services/overseas-entities/mapping";
16+
617
import {
718
BeneficialOwnersStatementType,
819
OverseasEntityCreated,
@@ -20,10 +31,6 @@ import {
2031
TrustCorporate,
2132
TrustCorporateResource
2233
} from "../../../src/services/overseas-entities";
23-
import Resource, { ApiErrorResponse } from "../../../src/services/resource";
24-
import { mapOverseasEntity, mapOverseasEntityResource, mapOverseasEntityExtraDetails } from "../../../src/services/overseas-entities/mapping";
25-
import Mapping from "../../../src/mapping/mapping";
26-
import { ENTITY_WHO_IS_REGISTERING } from "./overseas.entities.mock";
2734

2835
describe("OverseasEntityService POST Tests suite", () => {
2936
beforeEach(() => {
@@ -220,7 +227,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
220227
is_remove: true,
221228
has_sold_land: "0",
222229
is_secure_register: "0",
223-
who_is_registering: "agent"
230+
who_is_registering: "agent",
231+
payment: mockValues.PAYMENT_OBJECT_MOCK
224232
});
225233

226234
expect(data.entity_name).to.deep.equal(mockValues.OVERSEAS_ENTITY_RESOURCE_OBJECT_MOCK.entity_name);
@@ -243,6 +251,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
243251
expect(data.is_secure_register).to.deep.equal(false);
244252
expect(data.who_is_registering).to.deep.equal(ENTITY_WHO_IS_REGISTERING.AGENT);
245253
expect(data.remove).to.deep.equal(mockValues.OVERSEAS_ENTITY_RESOURCE_OBJECT_MOCK.remove);
254+
expect(data.payment).to.deep.equal(mockValues.PAYMENT_OBJECT_MOCK);
246255
});
247256

248257
it("should return OverseasEntityResource object from mapOverseasEntity method", async () => {
@@ -310,7 +319,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
310319
is_remove: undefined,
311320
has_sold_land: undefined,
312321
is_secure_register: undefined,
313-
who_is_registering: undefined
322+
who_is_registering: undefined,
323+
payment: undefined
314324
});
315325
expect(data.entity_name).to.deep.equal(null);
316326
expect(data.entity_number).to.deep.equal(null);
@@ -331,6 +341,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
331341
expect(data.has_sold_land).to.deep.equal(undefined);
332342
expect(data.is_secure_register).to.deep.equal(undefined);
333343
expect(data.who_is_registering).to.deep.equal(undefined);
344+
expect(data.payment).to.deep.equal(null);
334345
});
335346

336347
it("should return OverseasEntity object from mapOverseasEntityResource method", async () => {
@@ -354,7 +365,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
354365
is_remove: true,
355366
has_sold_land: true,
356367
is_secure_register: true,
357-
who_is_registering: ENTITY_WHO_IS_REGISTERING.AGENT
368+
who_is_registering: ENTITY_WHO_IS_REGISTERING.AGENT,
369+
payment: OE_RESOURCE.payment
358370
});
359371

360372
expect(data.entity_name).to.deep.equal(mockValues.ENTITY_NAME_FIELD_MOCK);
@@ -377,6 +389,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
377389
expect(data.has_sold_land).to.deep.equal("1");
378390
expect(data.is_secure_register).to.deep.equal("1");
379391
expect(data.who_is_registering).to.deep.equal("agent");
392+
expect(data.payment).to.deep.equal(mockValues.PAYMENT_OBJECT_MOCK);
380393
});
381394

382395
it("should return OverseasEntity object from mapOverseasEntityResource method", async () => {
@@ -443,7 +456,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
443456
is_remove: undefined,
444457
has_sold_land: undefined,
445458
is_secure_register: undefined,
446-
who_is_registering: undefined
459+
who_is_registering: undefined,
460+
payment: undefined
447461
});
448462

449463
expect(data.entity_name).to.deep.equal(mockValues.ENTITY_NAME_FIELD_MOCK);
@@ -462,7 +476,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
462476
expect(data.is_remove).to.deep.equal(undefined);
463477
expect(data.has_sold_land).to.deep.equal(undefined);
464478
expect(data.is_secure_register).to.deep.equal(undefined);
465-
expect(data.who_is_registering).to.deep.equal(undefined);
479+
expect(data.payment).to.deep.equal(null);
466480
});
467481

468482
it("should return OverseasEntity object from mapOverseasEntityResource method with just entity number data", async () => {
@@ -483,7 +497,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
483497
is_remove: undefined,
484498
has_sold_land: undefined,
485499
is_secure_register: undefined,
486-
who_is_registering: undefined
500+
who_is_registering: undefined,
501+
payment: undefined
487502
});
488503

489504
expect(data.entity_name).to.deep.equal(null);
@@ -503,6 +518,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
503518
expect(data.has_sold_land).to.deep.equal(undefined);
504519
expect(data.is_secure_register).to.deep.equal(undefined);
505520
expect(data.who_is_registering).to.deep.equal(undefined);
521+
expect(data.payment).to.deep.equal(null);
506522
});
507523

508524
it("should return OverseasEntity object from mapOverseasEntityResource method with just Presenter data", async () => {
@@ -522,7 +538,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
522538
is_remove: undefined,
523539
has_sold_land: undefined,
524540
is_secure_register: undefined,
525-
who_is_registering: undefined
541+
who_is_registering: undefined,
542+
payment: undefined
526543
});
527544

528545
expect(data.entity_name).to.deep.equal(null);
@@ -541,6 +558,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
541558
expect(data.has_sold_land).to.deep.equal(undefined);
542559
expect(data.is_secure_register).to.deep.equal(undefined);
543560
expect(data.who_is_registering).to.deep.equal(undefined);
561+
expect(data.payment).to.deep.equal(null);
544562
});
545563

546564
it("should return OverseasEntity object from mapOverseasEntityResource method with just Update data", async () => {
@@ -562,7 +580,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
562580
is_remove: undefined,
563581
has_sold_land: undefined,
564582
is_secure_register: undefined,
565-
who_is_registering: undefined
583+
who_is_registering: undefined,
584+
payment: undefined
566585
});
567586

568587
expect(data.entity_name).to.deep.equal(null);
@@ -583,6 +602,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
583602
expect(data.has_sold_land).to.deep.equal(undefined);
584603
expect(data.is_secure_register).to.deep.equal(undefined);
585604
expect(data.who_is_registering).to.deep.equal(undefined);
605+
expect(data.payment).to.deep.equal(null);
586606
});
587607

588608
it("should return OverseasEntity object from mapOverseasEntityResource method with just Remove data", async () => {
@@ -604,7 +624,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
604624
is_remove: undefined,
605625
has_sold_land: undefined,
606626
is_secure_register: undefined,
607-
who_is_registering: undefined
627+
who_is_registering: undefined,
628+
payment: undefined
608629
});
609630

610631
expect(data.entity_name).to.deep.equal(null);
@@ -625,6 +646,7 @@ describe("Mapping OverseasEntity Tests suite", () => {
625646
expect(data.has_sold_land).to.deep.equal(undefined);
626647
expect(data.is_secure_register).to.deep.equal(undefined);
627648
expect(data.who_is_registering).to.deep.equal(undefined);
649+
expect(data.payment).to.deep.equal(null);
628650
});
629651

630652
it("should return OverseasEntity object from mapOverseasEntityResource method with mapped Update dates", async () => {
@@ -646,7 +668,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
646668
is_remove: undefined,
647669
has_sold_land: undefined,
648670
is_secure_register: undefined,
649-
who_is_registering: undefined
671+
who_is_registering: undefined,
672+
payment: undefined
650673
});
651674

652675
expect(data.update).to.deep.equal(mockValues.UPDATE_OBJECT_MOCK);
@@ -676,7 +699,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
676699
is_remove: undefined,
677700
has_sold_land: undefined,
678701
is_secure_register: undefined,
679-
who_is_registering: undefined
702+
who_is_registering: undefined,
703+
payment: undefined
680704
});
681705

682706
expect(data.update?.filing_date).to.undefined;
@@ -706,7 +730,8 @@ describe("Mapping OverseasEntity Tests suite", () => {
706730
is_remove: undefined,
707731
has_sold_land: undefined,
708732
is_secure_register: undefined,
709-
who_is_registering: undefined
733+
who_is_registering: undefined,
734+
payment: undefined
710735
});
711736

712737
expect(data.update?.date_of_creation).to.undefined;

0 commit comments

Comments
 (0)