@@ -17,7 +17,11 @@ describe('Orders', () => {
1717
1818 test ( 'should get a page of orders' , async ( ) => {
1919 nock ( / ( .* ) / )
20- . get ( `/air/orders?limit=1` )
20+ . get ( `/air/orders` )
21+ . query ( ( queryObject ) => {
22+ expect ( queryObject . limit ) . toEqual ( '1' )
23+ return true
24+ } )
2125 . reply ( 200 , { data : [ mockOrder ] , meta : { limit : 1 , before : null , after : null } } )
2226
2327 const response = await new Orders ( new Client ( { token : 'mockToken' } ) ) . list ( { limit : 1 } )
@@ -38,7 +42,11 @@ describe('Orders', () => {
3842
3943 test ( 'should get only on hold orders' , async ( ) => {
4044 nock ( / ( .* ) / )
41- . get ( `/air/orders?awaiting_payment=true` )
45+ . get ( `/air/orders` )
46+ . query ( ( queryObject ) => {
47+ expect ( queryObject [ 'awaiting_payment' ] ) . toEqual ( 'true' )
48+ return true
49+ } )
4250 . reply ( 200 , { data : mockOnHoldOrders , meta : { limit : 1 , before : null , after : null } } )
4351
4452 const response = await new Orders ( new Client ( { token : 'mockToken' } ) ) . list ( { awaiting_payment : true } )
@@ -48,7 +56,12 @@ describe('Orders', () => {
4856 } )
4957
5058 test ( 'should create an order' , async ( ) => {
51- nock ( / ( .* ) / ) . post ( `/air/orders` ) . query ( true ) . reply ( 200 , { data : mockOrder } )
59+ nock ( / ( .* ) / )
60+ . post ( `/air/orders` , ( body ) => {
61+ expect ( body . data ) . toEqual ( mockCreateOrderRequest )
62+ return true
63+ } )
64+ . reply ( 200 , { data : mockOrder } )
5265
5366 const response = await new Orders ( new Client ( { token : 'mockToken' } ) ) . create ( mockCreateOrderRequest )
5467 expect ( response . data ?. id ) . toBe ( mockOrder . id )
@@ -73,4 +86,30 @@ describe('Orders', () => {
7386 expect ( response . data ) . toHaveLength ( 1 )
7487 expect ( response . data [ 0 ] . booking_reference ) . toBe ( 'RZPNX8' )
7588 } )
89+
90+ test ( 'should update a single order' , async ( ) => {
91+ const metadata = { payment_intent_id : 'pit_00009htYpSCXrwaB9DnUm2' }
92+ nock ( / ( .* ) / )
93+ . patch ( `/air/orders/${ mockOrder . id } ` , ( body ) => {
94+ expect ( body . data . options . metadata [ 'payment_intent_id' ] ) . toEqual ( metadata [ 'payment_intent_id' ] )
95+ return true
96+ } )
97+ . reply ( 200 , { data : mockOrder } )
98+
99+ const response = await new Orders ( new Client ( { token : 'mockToken' } ) ) . update ( mockOrder . id , { metadata } )
100+ expect ( response . data ?. id ) . toBe ( mockOrder . id )
101+ } )
102+
103+ test ( 'should update a single order and clear metadata' , async ( ) => {
104+ const metadata = { }
105+ nock ( / ( .* ) / )
106+ . patch ( `/air/orders/${ mockOrder . id } ` , ( body ) => {
107+ expect ( body . data . options . metadata ) . toEqual ( metadata )
108+ return true
109+ } )
110+ . reply ( 200 , { data : mockOrder } )
111+
112+ const response = await new Orders ( new Client ( { token : 'mockToken' } ) ) . update ( mockOrder . id , { metadata } )
113+ expect ( response . data ?. id ) . toBe ( mockOrder . id )
114+ } )
76115} )
0 commit comments