package Ġorg . m ga id am ak . cin ema . public . route Ċ Ċ import Ġio . ktor . http . HttpStatusCode Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin C in ema Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin Film Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin H all Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin Seat Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin Session Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Admin Ticket Ċ import Ġorg . m ga id am ak . cin ema . public . dao . C in ema Ċ import Ġorg . m ga id am ak . cin ema . public . dao . IP ublic Repo Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Seat Ċ import Ġorg . m ga id am ak . cin ema . public . dao . Session Ċ import Ġorg . m ga id am ak . cin ema . public . response . Response Ċ import Ġjava . time . LocalDate Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNull Ċ Ċ /** Ċ Ġ* ĠWe Ġtest Ġhow ĠPublic Route Ġworks . Ċ Ġ* ĠRepo Ġis Ġpure Ġmock . Ċ Ġ*/ Ċ class ĠPublic Route Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepo Ġ= Ġmock k < IP ublic Repo >() ĊĠĠĠ Ġprivate Ġval Ġroute Ġ= ĠPublic Route ( repo ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġempty Ġcin ema Ġlist `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getC in em as (" Tom sk ") Ġ} Ġreturns ĠResponse ( data Ġ= Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getC in em as (" Tom sk ") Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . message ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( emptyList (), Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġcin ema Ġlist `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getC in em as (" Nov os ib ir sk ") Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin C in ema ( 1 , Ġ" First ", Ġ" Nov os ib ir sk ", Ġ" Len ina ", Ġ" Asia / Nov os ib ir sk "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin C in ema ( 2 , Ġ" Second ", Ġ" Nov os ib ir sk ", Ġ" G og oly a ", Ġ" Asia / Nov os ib ir sk ") ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getC in em as (" Nov os ib ir sk ") Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . message ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC in ema ( 1 , Ġ" First ", Ġ" Nov os ib ir sk ", Ġ" Len ina "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC in ema ( 2 , Ġ" Second ", Ġ" Nov os ib ir sk ", Ġ" G og oly a ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġh alls Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġh alls Ġof Ġcin ema Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġh alls Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" No Ġh alls Ġavailable Ġat Ġcin ema Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( emptyList (), Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 1 , Ġ 1 , Ġ" Big ") ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getS essions ( listOf ( 1 ). to IntArray ()) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġsession Ġat Ġcin ema Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 1 , Ġ 1 , Ġ" Big ") ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getS essions ( listOf ( 1 ). to IntArray ()) Ġ} Ġreturns ĠResponse ( data Ġ= Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" No Ġsessions Ġavailable Ġat Ġcin ema Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( emptyList (), Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġvalid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 1 , Ġ 1 , Ġ" Big "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 2 , Ġ 1 , Ġ" Small "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getS essions ( listOf ( 1 , Ġ 2 ). to IntArray ()) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 2 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 3 , Ġ 2 , Ġ 2 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Film ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠAdmin Film ( 1 , Ġ" Great Ġrace ")) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Film ( 2 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠAdmin Film ( 2 , Ġ" Some Ġlike Ġit Ġhot ")) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġverify Ġfilm Ġhas Ġbeen Ġcalled Ġonly Ġtwice ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 1 , Ġ" Great Ġrace ", Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 2 , Ġ" Great Ġrace ", Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 3 , Ġ" Some Ġlike Ġit Ġhot ", Ġ 2 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġsessions Ġwithout Ġnames `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get H alls ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 1 , Ġ 1 , Ġ" Big "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin H all ( 2 , Ġ 1 , Ġ" Small "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getS essions ( listOf ( 1 , Ġ 2 ). to IntArray ()) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 2 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Session ( 3 , Ġ 2 , Ġ 2 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Film ( 1 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Film ( 2 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 1 , Ġ"", Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 2 , Ġ"", Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession ( 3 , Ġ"", Ġ 2 , Ġ" 2 0 2 0 - 0 9 - 1 1 T 0 0 : 0 0 : 0 0 Z ", Ġ 2 0 0 ), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . getS essions ( 1 , ĠLocalDate . now ()) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġsession Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġsession Ġis Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġhall Ġplan Ġfor Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" No Ġse ats Ġavailable Ġfor Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" No Ġse ats Ġavailable Ġfor Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġsold Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Tickets ( 1 ) Ġ} Ġreturns ĠResponse ( HttpStatusCode . NotFound ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . InternalServerError , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Error Ġwhile Ġload Ġsold Ġtickets Ġfor Ġsession Ġ 1 ", Ġresponse . message ) ĊĠĠĠĠĠĠĠ ĠassertNull ( response . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġsold Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 2 , Ġ 1 , Ġ 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 3 , Ġ 1 , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 4 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Tickets ( 1 ) Ġ} Ġreturns ĠResponse () ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 1 , Ġ 1 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 2 , Ġ 1 , Ġ 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 3 , Ġ 2 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 4 , Ġ 2 , Ġ 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġsold Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 2 , Ġ 1 , Ġ 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 3 , Ġ 1 , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 4 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Tickets ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 1 , Ġ 1 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 2 , Ġ 1 , Ġ 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 3 , Ġ 2 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 4 , Ġ 2 , Ġ 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġse ats Ġvalid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . getSession ( 1 ) Ġ} Ġreturns ĠResponse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠAdmin Session ( 1 , Ġ 1 , Ġ 1 , Ġ" 2 0 2 0 - 0 9 - 1 0 T 0 0 : 0 0 : 0 0 Z ", Ġ 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Se ats ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 2 , Ġ 1 , Ġ 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 3 , Ġ 1 , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Seat ( 4 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepo . get Tickets ( 1 ) Ġ} Ġreturns ĠResponse ( data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Ticket ( 1 , Ġ 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdmin Ticket ( 1 , Ġ 1 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 2 , Ġ 1 , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 3 , Ġ 2 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSe at ( 4 , Ġ 2 , Ġ 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġrun Blocking Ġ{ Ġroute . get Se ats ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġresponse . data ) ĊĠĠĠ Ġ} Ċ }