@@ -11,32 +11,15 @@ const expect = chai.expect;
1111const requestClient = new RequestClient ( { baseUrl : "URL-NOT-USED" , oauthToken : "TOKEN-NOT-USED" } ) ;
1212
1313describe ( "company-psc" , ( ) => {
14- beforeEach ( ( ) => {
15- sinon . reset ( ) ;
16- sinon . restore ( ) ;
17- } ) ;
14+ let mockRequest : sinon . SinonStub ;
15+ let companyPsc : CompanyPscService ;
16+ let mockResponseBody : CompanyPersonsWithSignificantControlResource ;
1817
19- afterEach ( done => {
18+ beforeEach ( ( ) => {
2019 sinon . reset ( ) ;
2120 sinon . restore ( ) ;
22- done ( ) ;
23- } ) ;
2421
25- it ( "returns an error response on failure" , async ( ) => {
26- const mockGetResponse = {
27- status : 401 ,
28- error : "An error occurred"
29- } ;
30- const mockRequest = sinon . stub ( requestClient , "httpGet" ) . resolves ( mockGetResponse ) ;
31- const companyPsc : CompanyPscService = new CompanyPscService ( requestClient ) ;
32- const data = await companyPsc . getCompanyPsc ( "NUMBER-NOT-IMPORTANT" ) ;
33-
34- expect ( data . httpStatusCode ) . to . equal ( 401 ) ;
35- expect ( data . resource ) . to . be . undefined ;
36- } ) ;
37-
38- it ( "maps the company field data items correctly" , async ( ) => {
39- const mockResponseBody : CompanyPersonsWithSignificantControlResource = ( {
22+ mockResponseBody = {
4023 active_count : "1" ,
4124 ceased_count : "0" ,
4225 items_per_page : "1" ,
@@ -85,15 +68,35 @@ describe("company-psc", () => {
8568 ceased_on : "2023-2-1"
8669 }
8770 ]
88- } ) ;
71+ } ;
8972
9073 const mockGetResponse = {
9174 status : 200 ,
9275 body : mockResponseBody
9376 } ;
9477
95- const mockRequest = sinon . stub ( requestClient , "httpGet" ) . resolves ( mockGetResponse ) ;
96- const companyPsc : CompanyPscService = new CompanyPscService ( requestClient ) ;
78+ mockRequest = sinon . stub ( requestClient , "httpGet" ) . resolves ( mockGetResponse ) ;
79+ companyPsc = new CompanyPscService ( requestClient ) ;
80+ } ) ;
81+
82+ afterEach ( ( ) => {
83+ sinon . restore ( ) ;
84+ } ) ;
85+
86+ it ( "returns an error response on failure" , async ( ) => {
87+ const mockGetResponse = {
88+ status : 401 ,
89+ error : "An error occurred"
90+ } ;
91+ mockRequest . resolves ( mockGetResponse ) ;
92+
93+ const data = await companyPsc . getCompanyPsc ( "NUMBER-NOT-IMPORTANT" ) ;
94+
95+ expect ( data . httpStatusCode ) . to . equal ( 401 ) ;
96+ expect ( data . resource ) . to . be . undefined ;
97+ } ) ;
98+
99+ it ( "maps the company field data items correctly" , async ( ) => {
97100 const data = await companyPsc . getCompanyPsc ( "123" ) ;
98101
99102 expect ( data . httpStatusCode ) . to . equal ( 200 ) ;
@@ -119,20 +122,39 @@ describe("company-psc", () => {
119122 expect ( data . resource ?. items [ 0 ] . address . locality ) . to . equal ( mockResponseBody . items [ 0 ] . address . locality ) ;
120123 expect ( data . resource ?. items [ 0 ] . address . postalCode ) . to . equal ( mockResponseBody . items [ 0 ] . address . postal_code ) ;
121124 expect ( data . resource ?. items [ 0 ] . address . region ) . to . equal ( mockResponseBody . items [ 0 ] . address . region ) ;
122- expect ( data . resource ?. items [ 0 ] . address . region ) . to . equal ( mockResponseBody . items [ 0 ] . address . region ) ;
123125
124126 expect ( data . resource ?. items [ 0 ] . dateOfBirth . month ) . to . equal ( mockResponseBody . items [ 0 ] . date_of_birth . month ) ;
125127 expect ( data . resource ?. items [ 0 ] . dateOfBirth . year ) . to . equal ( mockResponseBody . items [ 0 ] . date_of_birth . year ) ;
126128
127129 expect ( data . resource ?. items [ 0 ] . identification ?. legalAuthority ) . to . equal ( mockResponseBody . items [ 0 ] . identification ?. legal_authority ) ;
128130 expect ( data . resource ?. items [ 0 ] . identification ?. legalForm ) . to . equal ( mockResponseBody . items [ 0 ] . identification ?. legal_form ) ;
129131 expect ( data . resource ?. items [ 0 ] . identification ?. placeRegistered ) . to . equal ( mockResponseBody . items [ 0 ] . identification ?. place_registered ) ;
130- expect ( data . resource ?. items [ 0 ] . identification ?. registrationNumber ) . to . equal ( mockResponseBody . items [ 0 ] . identification ?. registration_number )
132+ expect ( data . resource ?. items [ 0 ] . identification ?. registrationNumber ) . to . equal ( mockResponseBody . items [ 0 ] . identification ?. registration_number ) ;
131133
132134 expect ( data . resource ?. items [ 0 ] . nameElements . title ) . to . equal ( mockResponseBody . items [ 0 ] . name_elements . title ) ;
133135 expect ( data . resource ?. items [ 0 ] . nameElements . forename ) . to . equal ( mockResponseBody . items [ 0 ] . name_elements . forename ) ;
134136 expect ( data . resource ?. items [ 0 ] . nameElements . otherForenames ) . to . equal ( mockResponseBody . items [ 0 ] . name_elements . other_forenames ) ;
135137 expect ( data . resource ?. items [ 0 ] . nameElements . middleName ) . to . equal ( mockResponseBody . items [ 0 ] . name_elements . middle_name ) ;
136138 expect ( data . resource ?. items [ 0 ] . nameElements . surname ) . to . equal ( mockResponseBody . items [ 0 ] . name_elements . surname ) ;
137139 } ) ;
140+
141+ it ( "uses default values for startIndex and itemsPerPage when not provided" , async ( ) => {
142+ await companyPsc . getCompanyPsc ( "123" ) ;
143+ expect ( mockRequest . calledWith ( "/company/123/persons-with-significant-control?start_index=0&items_per_page=25" ) ) . to . be . true ;
144+ } ) ;
145+
146+ it ( "uses provided startIndex and itemsPerPage values" , async ( ) => {
147+ await companyPsc . getCompanyPsc ( "123" , 10 , 20 ) ;
148+ expect ( mockRequest . calledWith ( "/company/123/persons-with-significant-control?start_index=10&items_per_page=20" ) ) . to . be . true ;
149+ } ) ;
150+
151+ it ( "uses default startIndex when not provided and itemsPerPage is provided" , async ( ) => {
152+ await companyPsc . getCompanyPsc ( "123" , undefined , 10 ) ;
153+ expect ( mockRequest . calledWith ( "/company/123/persons-with-significant-control?start_index=0&items_per_page=10" ) ) . to . be . true ;
154+ } ) ;
155+
156+ it ( "uses default itemsPerPage when not provided and startIndex is provided" , async ( ) => {
157+ await companyPsc . getCompanyPsc ( "123" , 10 ) ;
158+ expect ( mockRequest . calledWith ( "/company/123/persons-with-significant-control?start_index=10&items_per_page=25" ) ) . to . be . true ;
159+ } ) ;
138160} ) ;
0 commit comments