|
1 | 1 | import { ReasonPhrases, StatusCodes } from "http-status-codes"; |
2 | 2 | import { RequestClient } from "../../../src"; |
3 | | -import { DateOfBirthResource, PscVerificationDataResource, PscVerificationResource } from "../../../src/services/psc-verification-link/types"; |
4 | | -import { PersonWithSignificantControlResource } from "../../../src/services/psc/types"; |
| 3 | +import { DateOfBirthResource } from "../../../src/services/psc-verification-link/types"; |
| 4 | +import { KindEnum, PersonWithSignificantControl, PersonWithSignificantControlResource, VerificationState, VerificationStateResource, VerificationStatusEnum } from "../../../src/services/psc/types"; |
5 | 5 |
|
6 | 6 | export const requestClient = new RequestClient({ baseUrl: "URL_NOT_USED", oauthToken: "123" }); |
7 | | - |
8 | 7 | export const COMPANY_NUMBER = "12345678"; |
9 | 8 | export const PSC_NOTIFICATION_ID = "67edfE436y35hetsie6zuAZtr" |
10 | | -export const TRANSACTION_ID = "12345"; |
11 | | -export const FILING_ID = "00112233"; |
12 | | -export const FIRST_DATE = new Date("2024-03-13T10:08:42Z"); |
13 | | -export const UPDATE_DATE = new Date("2024-04-13T10:08:42Z"); |
14 | | -export const DOB_DATE = new Date("1970-01-01"); |
15 | | -export const SELF_LINK = `/company/${COMPANY_NUMBER}/persons-with-significant-control/individual/${PSC_NOTIFICATION_ID}`; |
16 | | -export const KIND_INDIVIDUAL = "individual-person-with-significant-control"; |
17 | | -export const NATURE_OF_CONTROL = ["ownership-of-shares-75-to-100-percent", "voting-rights-75-to-100-percent-as-trust"] |
18 | | -export const NAME = "Sir Forename Middlename Surname"; |
19 | | -export const NATIONALITY = "British"; |
20 | | -export const NAME_ELEMENTS = { |
| 9 | +const SELF_LINK = `/company/${COMPANY_NUMBER}/persons-with-significant-control/individual/${PSC_NOTIFICATION_ID}`; |
| 10 | +const NATURE_OF_CONTROL = ["ownership-of-shares-75-to-100-percent", "voting-rights-75-to-100-percent-as-trust"] |
| 11 | +const NAME = "Sir Forename Middlename Surname"; |
| 12 | +const NATIONALITY = "British"; |
| 13 | +const NOTIFICATION_DATE = "2023-01-02"; |
| 14 | +const ETAG = "etag"; |
| 15 | + |
| 16 | +const NAME_ELEMENTS = { |
21 | 17 | title: "Sir", |
22 | 18 | forename: "Forename", |
23 | 19 | middlename: "Middlename", |
24 | 20 | surname: "Surname" |
25 | 21 | }; |
26 | | -export const ADDRESS = { |
| 22 | + |
| 23 | +const ADDRESS_RESOURCE = { |
27 | 24 | postal_code: "CF14 3UZ", |
28 | 25 | locality: "Cardiff", |
29 | 26 | region: "South Glamorgan", |
30 | 27 | address_line_1: "Crown Way" |
31 | 28 | }; |
32 | | -export const COUNTRY_OF_RESIDENCE = "Wales"; |
33 | 29 |
|
34 | | -export const PSC_VERIFICATION_CREATED_RESOURCE: PscVerificationDataResource = { |
35 | | - company_number: COMPANY_NUMBER |
| 30 | +const ADDRESS = { |
| 31 | + postalCode: "CF14 3UZ", |
| 32 | + locality: "Cardiff", |
| 33 | + region: "South Glamorgan", |
| 34 | + addressLine1: "Crown Way" |
36 | 35 | }; |
37 | 36 |
|
| 37 | +const COUNTRY_OF_RESIDENCE = "Wales"; |
| 38 | + |
| 39 | +const VERIFICATION_START_DATE = new Date("2024-04-13"); |
| 40 | +const VERIFICATION_DUE_DATE = new Date("2024-04-27"); |
| 41 | +const VERIFICATION_STATUS = VerificationStatusEnum.UNVERIFIED; |
| 42 | + |
| 43 | +const VERIFICATION_STATE: VerificationState = { |
| 44 | + verificationStatus: VERIFICATION_STATUS, |
| 45 | + verificationStartDate: VERIFICATION_START_DATE, |
| 46 | + verificationStatementDueDate: VERIFICATION_DUE_DATE |
| 47 | +} |
| 48 | + |
| 49 | +const VERIFICATION_STATE_RESOURCE: VerificationStateResource = { |
| 50 | + verification_status: VERIFICATION_STATUS, |
| 51 | + verification_start_date: VERIFICATION_START_DATE, |
| 52 | + verification_statement_due_date: VERIFICATION_DUE_DATE |
| 53 | +} |
| 54 | + |
38 | 55 | const PSC_INDIVIDUAL_DOB: DateOfBirthResource = { |
39 | 56 | day: undefined, |
40 | 57 | month: "10", |
41 | 58 | year: "21" |
42 | 59 | } |
43 | 60 |
|
44 | | -export const PSC_INDIVIDUAL: PersonWithSignificantControlResource = { |
| 61 | +const PSC_INDIVIDUAL_RESOURCE: PersonWithSignificantControlResource = { |
45 | 62 | natures_of_control: NATURE_OF_CONTROL, |
46 | | - kind: KIND_INDIVIDUAL, |
| 63 | + kind: KindEnum.INDIVIDUAL_PERSON_WITH_SIGNIFICANT_CONTROL, |
47 | 64 | name: NAME, |
48 | 65 | name_elements: NAME_ELEMENTS, |
49 | 66 | nationality: NATIONALITY, |
50 | | - address: ADDRESS, |
| 67 | + address: ADDRESS_RESOURCE, |
51 | 68 | country_of_residence: COUNTRY_OF_RESIDENCE, |
52 | 69 | links: { |
53 | 70 | self: SELF_LINK |
54 | 71 | }, |
55 | 72 | date_of_birth: PSC_INDIVIDUAL_DOB, |
56 | | - etag: "", |
57 | | - notified_on: "" |
| 73 | + etag: ETAG, |
| 74 | + notified_on: NOTIFICATION_DATE, |
| 75 | + verification_state: VERIFICATION_STATE_RESOURCE |
58 | 76 | }; |
59 | 77 |
|
60 | | -export const mockPscVerificationCreatedResource: PscVerificationResource = { |
61 | | - created_at: FIRST_DATE, |
62 | | - updated_at: FIRST_DATE, |
63 | | - data: PSC_VERIFICATION_CREATED_RESOURCE, |
| 78 | +export const PSC_INDIVIDUAL: PersonWithSignificantControl = { |
| 79 | + naturesOfControl: NATURE_OF_CONTROL, |
| 80 | + kind: KindEnum.INDIVIDUAL_PERSON_WITH_SIGNIFICANT_CONTROL, |
| 81 | + name: NAME, |
| 82 | + nameElements: NAME_ELEMENTS, |
| 83 | + nationality: NATIONALITY, |
| 84 | + address: ADDRESS, |
| 85 | + countryOfResidence: COUNTRY_OF_RESIDENCE, |
64 | 86 | links: { |
65 | | - self: SELF_LINK, |
66 | | - validation_status: `${SELF_LINK}/validation_status` |
67 | | - } |
68 | | -}; |
69 | | - |
70 | | -export const PSC_VERIFICATION_INDV_PATCH: PscVerificationDataResource = { |
71 | | - psc_notification_id: PSC_NOTIFICATION_ID |
72 | | -}; |
73 | | - |
74 | | -export const mockPscVerificationCreatedResponse = { |
75 | | - 201: { status: StatusCodes.CREATED, body: mockPscVerificationCreatedResource }, |
76 | | - 400: { status: StatusCodes.BAD_REQUEST, error: ReasonPhrases.BAD_REQUEST }, |
77 | | - 401: { status: StatusCodes.UNAUTHORIZED, error: ReasonPhrases.UNAUTHORIZED } |
| 87 | + self: SELF_LINK |
| 88 | + }, |
| 89 | + dateOfBirth: PSC_INDIVIDUAL_DOB, |
| 90 | + etag: ETAG, |
| 91 | + notifiedOn: NOTIFICATION_DATE, |
| 92 | + verificationState: VERIFICATION_STATE |
78 | 93 | }; |
79 | 94 |
|
80 | 95 | export const mockIndividualResponse = { |
81 | | - 200: { status: StatusCodes.OK, body: PSC_INDIVIDUAL }, |
| 96 | + 200: { status: StatusCodes.OK, body: PSC_INDIVIDUAL_RESOURCE }, |
| 97 | + 400: { status: StatusCodes.BAD_REQUEST, error: ReasonPhrases.BAD_REQUEST }, |
82 | 98 | 401: { status: StatusCodes.UNAUTHORIZED, error: ReasonPhrases.UNAUTHORIZED }, |
83 | | - 404: { status: StatusCodes.NOT_FOUND, error: ReasonPhrases.NOT_FOUND } |
| 99 | + 404: { status: StatusCodes.NOT_FOUND, error: ReasonPhrases.NOT_FOUND }, |
| 100 | + 500: { status: StatusCodes.INTERNAL_SERVER_ERROR, error: ReasonPhrases.INTERNAL_SERVER_ERROR } |
84 | 101 | }; |
0 commit comments