@@ -14,32 +14,24 @@ const once = (eventsStream, status, fn) =>
1414 . subscribe ( fn )
1515
1616describe ( 'A car' , ( ) => {
17- const arjeplog = { lon : 17.886855 , lat : 66.041054 }
18- const ljusdal = { lon : 14.44681991219 , lat : 61.59465992477 }
17+ const arjeplog = { position : { lon : 17.886855 , lat : 66.041054 } }
18+ const ljusdal = { position : { lon : 14.44681991219 , lat : 61.59465992477 } }
1919
2020 const ljusdalToArjeplog = {
21- pickup : {
22- position : ljusdal ,
23- } ,
24- destination : {
25- position : arjeplog ,
26- } ,
21+ pickup : ljusdal ,
22+ destination : arjeplog ,
2723 }
2824
2925 const arjeplogToLjusdal = {
30- pickup : {
31- position : arjeplog ,
32- } ,
33- destination : {
34- position : ljusdal ,
35- } ,
26+ pickup : arjeplog ,
27+ destination : ljusdal ,
3628 }
3729
3830 const positionName = ( { lon, lat } ) => {
3931 switch ( `${ lon } ${ lat } ` ) {
40- case `${ ljusdal . lon } ${ ljusdal . lat } ` :
32+ case `${ ljusdal . position . lon } ${ ljusdal . position . lat } ` :
4133 return 'Ljusdal'
42- case `${ arjeplog . lon } ${ arjeplog . lat } ` :
34+ case `${ arjeplog . position . lon } ${ arjeplog . position . lat } ` :
4335 return 'Arjeplog'
4436 default :
4537 return 'Unknown'
@@ -57,38 +49,38 @@ describe('A car', () => {
5749 } )
5850
5951 it ( 'should have initial position' , function ( done ) {
60- const car = new Car ( { id : 1 , position : arjeplog } )
61- expect ( car . position ) . toEqual ( arjeplog )
52+ const car = new Car ( { id : 1 , position : arjeplog . position } )
53+ expect ( car . position ) . toEqual ( arjeplog . position )
6254 done ( )
6355 } )
6456
6557 it ( 'should be able to teleport' , function ( done ) {
66- const car = new Car ( { id : 1 , position : arjeplog } )
58+ const car = new Car ( { id : 1 , position : arjeplog . position } )
6759 car . navigateTo ( ljusdal )
6860 car . statusEvents . pipe ( filter ( ( car ) => ! car . moving ) ) . subscribe ( ( car ) => {
69- expect ( car . position . lon ) . toEqual ( ljusdal . lon )
70- expect ( car . position . lat ) . toEqual ( ljusdal . lat )
61+ expect ( car . position . lon ) . toEqual ( ljusdal . position . lon )
62+ expect ( car . position . lat ) . toEqual ( ljusdal . position . lat )
7163 done ( )
7264 } )
7365 } )
7466
7567 it ( 'should be able to handle one booking and navigate to pickup' , function ( done ) {
76- const car = new Car ( { id : 1 , position : arjeplog } )
68+ const car = new Car ( { id : 1 , position : arjeplog . position } )
7769 car . handleBooking (
7870 new Booking ( {
7971 id : 1 ,
8072 ...ljusdalToArjeplog ,
8173 } )
8274 )
8375 once ( car . statusEvents , 'AtPickup' , ( car ) => {
84- expect ( car . position . lon ) . toEqual ( ljusdal . lon )
85- expect ( car . position . lat ) . toEqual ( ljusdal . lat )
76+ expect ( car . position . lon ) . toEqual ( ljusdal . position . lon )
77+ expect ( car . position . lat ) . toEqual ( ljusdal . position . lat )
8678 done ( )
8779 } )
8880 } )
8981
9082 it ( 'should be able to handle one booking and emit correct events' , function ( done ) {
91- const car = new Car ( { id : 1 , position : arjeplog } )
83+ const car = new Car ( { id : 1 , position : arjeplog . position } )
9284 car . handleBooking (
9385 new Booking ( {
9486 id : 1 ,
@@ -102,14 +94,14 @@ describe('A car', () => {
10294 )
10395 expect ( car . status ) . toEqual ( 'Pickup' )
10496 once ( car . statusEvents , 'AtPickup' , ( ) => {
105- expect ( car . position . lon ) . toEqual ( ljusdal . lon )
106- expect ( car . position . lat ) . toEqual ( ljusdal . lat )
97+ expect ( car . position . lon ) . toEqual ( ljusdal . position . lon )
98+ expect ( car . position . lat ) . toEqual ( ljusdal . position . lat )
10799 done ( )
108100 } )
109101 } )
110102
111103 it ( 'should be able to pickup a booking and deliver it to its destination' , function ( done ) {
112- const car = new Car ( { id : 1 , position : arjeplog } )
104+ const car = new Car ( { id : 1 , position : arjeplog . position } )
113105 car . handleBooking (
114106 new Booking ( {
115107 id : 1 ,
@@ -123,19 +115,19 @@ describe('A car', () => {
123115 )
124116
125117 once ( car . statusEvents , 'AtPickup' , ( ) => {
126- expect ( car . position . lon ) . toEqual ( ljusdal . lon )
127- expect ( car . position . lat ) . toEqual ( ljusdal . lat )
118+ expect ( car . position . lon ) . toEqual ( ljusdal . position . lon )
119+ expect ( car . position . lat ) . toEqual ( ljusdal . position . lat )
128120 } )
129121
130122 once ( car . statusEvents , 'AtDropOff' , ( ) => {
131- expect ( car . position . lon ) . toEqual ( arjeplog . lon )
132- expect ( car . position . lat ) . toEqual ( arjeplog . lat )
123+ expect ( car . position . lon ) . toEqual ( arjeplog . position . lon )
124+ expect ( car . position . lat ) . toEqual ( arjeplog . position . lat )
133125 done ( )
134126 } )
135127 } )
136128
137129 it ( 'should be able to pickup multiple bookings and queue the all except the first' , function ( ) {
138- const car = new Car ( { id : 1 , position : arjeplog } )
130+ const car = new Car ( { id : 1 , position : arjeplog . position } )
139131 car . handleBooking (
140132 new Booking ( {
141133 id : 1 ,
@@ -151,7 +143,7 @@ describe('A car', () => {
151143 } )
152144
153145 it ( 'should be able to handle the bookings from the same place in the queue' , async ( ) => {
154- const car = new Car ( { id : 'v-1' , position : arjeplog } )
146+ const car = new Car ( { id : 'v-1' , position : arjeplog . position } )
155147 // börja i Arjeplog
156148
157149 expect ( car . queue ) . toHaveLength ( 0 )
0 commit comments