@@ -2,7 +2,7 @@ import { expect } from 'chai';
22import sinon from 'sinon' ;
33
44import * as govController from '../src/controllers/gov.controller.js' ;
5- import { govRequest } from '../src/utils/govRequest.js' ;
5+ import { GovRequest } from '../src/utils/govRequest.js' ;
66import { cleanup , createMockReply , createMockRequest } from './test.utils.js' ;
77
88describe ( 'Government API Controller' , ( ) => {
@@ -14,28 +14,46 @@ describe('Government API Controller', () => {
1414 beforeEach ( ( ) => {
1515 request = createMockRequest ( ) ;
1616 reply = createMockReply ( ) ;
17- post = sinon . stub ( govRequest , 'post' ) ;
18- get = sinon . stub ( govRequest , 'get' ) ;
17+ post = sinon . stub ( GovRequest , 'post' ) ;
18+ get = sinon . stub ( GovRequest , 'get' ) ;
1919 } ) ;
2020
2121 afterEach ( ( ) => {
2222 cleanup ( ) ;
2323 } ) ;
2424
2525 it ( 'getLinesByStation should return expected data' , async ( ) => {
26- const mockLine = {
27- lineCode : 11005 ,
28- lineText : '5' ,
29- operatorId : 3 ,
30- eventDate : '2025-05-13T00:00:00' ,
31- directionCode : 3 ,
32- directionText : null ,
33- destinationCity : { DataCode : 2800 , DataText : 'קרית שמונה' } ,
34- originCity : { DataCode : 2800 , DataText : 'קרית שמונה' } ,
35- message : null ,
26+ const expected = {
27+ data : [
28+ {
29+ lineCode : 11005 ,
30+ lineText : '5' ,
31+ operatorId : 3 ,
32+ eventDate : '2025-05-13T00:00:00' ,
33+ directionCode : 3 ,
34+ directionText : null ,
35+ destinationCity : { dataCode : 2800 , dataText : 'קרית שמונה' } ,
36+ originCity : { dataCode : 2800 , dataText : 'קרית שמונה' } ,
37+ message : null ,
38+ } ,
39+ ] ,
40+ success : true ,
3641 } ;
37- const expected = { data : [ mockLine ] , success : true } ;
38- post . resolves ( { data : { Data : [ mockLine ] } } ) ;
42+ post . resolves ( {
43+ Data : [
44+ {
45+ lineCode : 11005 ,
46+ lineText : '5' ,
47+ operatorId : 3 ,
48+ eventDate : '2025-05-13T00:00:00' ,
49+ directionCode : 3 ,
50+ directionText : null ,
51+ destinationCity : { dataCode : 2800 , dataText : 'קרית שמונה' } ,
52+ originCity : { dataCode : 2800 , dataText : 'קרית שמונה' } ,
53+ message : null ,
54+ } ,
55+ ] ,
56+ } ) ;
3957 request . body = { EventDate : 1747083600000 , OperatorId : 3 , StationId : 57865 } ;
4058 await govController . getLinesByStation ( request , reply ) ;
4159 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
@@ -50,7 +68,7 @@ describe('Government API Controller', () => {
5068 stationFullName : 'בית ספר קורצק/יהודה הלוי, קרית שמונה' ,
5169 } ;
5270 const expected = { data : [ mockStation ] , success : true } ;
53- post . resolves ( { data : { Data : [ mockStation ] } } ) ;
71+ post . resolves ( { Data : [ mockStation ] } ) ;
5472 request . body = { EventDate : 1747083600000 , OperatorId : 3 , OfficelineId : 12083 , Directions : 1 } ;
5573 await govController . getStationByLine ( request , reply ) ;
5674 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
@@ -66,7 +84,7 @@ describe('Government API Controller', () => {
6684 subject_code : '3' ,
6785 } ;
6886 const expected = { data : [ mockSubject ] , success : true } ;
69- post . resolves ( { data : { Data : { List : [ mockSubject ] } } } ) ;
87+ post . resolves ( { Data : { List : [ mockSubject ] } } ) ;
7088 await govController . getSubjects ( request , reply ) ;
7189 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
7290 } ) ;
@@ -80,7 +98,7 @@ describe('Government API Controller', () => {
8098 stationFullName : null ,
8199 } ;
82100 const expected = { data : [ mockTrainStation ] , success : true } ;
83- post . resolves ( { data : { Data : [ mockTrainStation ] } } ) ;
101+ post . resolves ( { Data : [ mockTrainStation ] } ) ;
84102 request . body = { StationTypeId : 7 } ;
85103 await govController . getTrainStations ( request , reply ) ;
86104 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
@@ -89,33 +107,51 @@ describe('Government API Controller', () => {
89107 it ( 'getPniya should return expected data' , async ( ) => {
90108 const mockPniya = { RowNumber : '1' , code : '0' , pniya : 'אוטובוס' } ;
91109 const expected = { data : [ mockPniya ] , success : true } ;
92- post . resolves ( { data : { Data : { List : [ mockPniya ] } } } ) ;
110+ post . resolves ( { Data : { List : [ mockPniya ] } } ) ;
93111 await govController . getPniya ( request , reply ) ;
94112 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
95113 } ) ;
96114
97115 it ( 'getNotRealNumbers should return expected data' , async ( ) => {
98116 const mockNotReal = { RowNumber : '1' , Code : '1' , IdNum : '123456782' } ;
99117 const expected = { data : [ mockNotReal ] , success : true } ;
100- post . resolves ( { data : { Data : { List : [ mockNotReal ] } } } ) ;
118+ post . resolves ( { Data : { List : [ mockNotReal ] } } ) ;
101119 await govController . getNotRealNumbers ( request , reply ) ;
102120 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
103121 } ) ;
104122
105123 it ( 'getLinesByLine should return expected data' , async ( ) => {
106- const mockLine = {
107- lineCode : 10083 ,
108- lineText : '83' ,
109- operatorId : 3 ,
110- eventDate : '2025-05-13T00:00:00' ,
111- directionCode : 2 ,
112- directionText : 'חיפה-חיפה' ,
113- destinationCity : { DataCode : 4000 , DataText : 'חיפה' } ,
114- originCity : { DataCode : 4000 , DataText : 'חיפה' } ,
115- message : null ,
124+ const expected = {
125+ data : [
126+ {
127+ lineCode : 10083 ,
128+ lineText : '83' ,
129+ operatorId : 3 ,
130+ eventDate : '2025-05-13T00:00:00' ,
131+ directionCode : 2 ,
132+ directionText : 'חיפה-חיפה' ,
133+ destinationCity : { dataCode : 4000 , dataText : 'חיפה' } ,
134+ originCity : { dataCode : 4000 , dataText : 'חיפה' } ,
135+ message : null ,
136+ } ,
137+ ] ,
138+ success : true ,
116139 } ;
117- const expected = { data : [ mockLine ] , success : true } ;
118- post . resolves ( { data : { Data : [ mockLine ] } } ) ;
140+ post . resolves ( {
141+ Data : [
142+ {
143+ lineCode : 10083 ,
144+ lineText : '83' ,
145+ operatorId : 3 ,
146+ eventDate : '2025-05-13T00:00:00' ,
147+ directionCode : 2 ,
148+ directionText : 'חיפה-חיפה' ,
149+ destinationCity : { dataCode : 4000 , dataText : 'חיפה' } ,
150+ originCity : { dataCode : 4000 , dataText : 'חיפה' } ,
151+ message : null ,
152+ } ,
153+ ] ,
154+ } ) ;
119155 request . body = {
120156 EventDate : 1747083600000 ,
121157 OperatorId : 3 ,
@@ -126,25 +162,23 @@ describe('Government API Controller', () => {
126162 } ) ;
127163
128164 it ( 'getCities should return expected data' , async ( ) => {
129- const mockCity = { DataCode : 5000 , DataText : 'תל אביב יפו' } ;
130- const expected = { data : [ mockCity ] , success : true } ;
131- post . resolves ( { data : { Data : [ mockCity ] } } ) ;
165+ const expected = { data : [ { dataCode : 5000 , dataText : 'תל אביב יפו' } ] , success : true } ;
166+ post . resolves ( { Data : [ { dataCode : 5000 , dataText : 'תל אביב יפו' } ] } ) ;
132167 await govController . getCities ( request , reply ) ;
133168 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
134169 } ) ;
135170
136171 it ( 'getOperators should return expected data' , async ( ) => {
137- const mockOperator = { DataCode : 3 , DataText : 'אגד' } ;
138- const expected = { data : [ mockOperator ] , success : true } ;
139- post . resolves ( { data : { Data : [ mockOperator ] } } ) ;
172+ const expected = { data : [ { dataCode : 3 , dataText : 'אגד' } ] , success : true } ;
173+ post . resolves ( { Data : [ { dataCode : 3 , dataText : 'אגד' } ] } ) ;
140174 await govController . getOperators ( request , reply ) ;
141175 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
142176 } ) ;
143177
144178 it ( 'getTime should return expected data' , async ( ) => {
145179 const mockTime = '7/8/2025 10:09:25 PM' ;
146180 const expected = { data : { serverTime : mockTime } , success : true } ;
147- get . resolves ( { data : mockTime } ) ;
181+ get . resolves ( mockTime ) ;
148182 await govController . getTime ( request , reply ) ;
149183 expect ( reply . sendCalledWith ) . to . deep . equal ( expected ) ;
150184 } ) ;
0 commit comments