package Ġservices Ċ Ċ import ĠACCESS _ TOKEN Ċ import Ġcom . har old admin . cn rad apter . invoke Ċ import Ġde . vk ay . api . t mdb . T MD b Ċ import Ġde . vk ay . api . t mdb . enum er ations . List Sort By Ċ import Ġde . vk ay . api . t mdb . enum er ations . MediaType Ċ import Ġde . vk ay . api . t mdb . models . T mdb Body Ċ import Ġde . vk ay . api . t mdb . models . T mdb Movie Ċ import Ġde . vk ay . api . t mdb . models . T mdb Show Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . util .* ĊĊ Ċ class ĠList Service Test Ġ: ĠBase Service Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġlist Ġdetails , Ġpublic `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdetails Ġ= ĠT MD b . list Service . details ( LIST _ ID _ AN IME ). invoke () !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" An imes ", Ġdetails . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġdetails . re venue ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( details . backdrop ) ĊĠĠĠĠĠĠĠ ĠassertNull ( details . poster ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( List Sort By . ORIGIN AL _ ORDER _ ASC , Ġdetails . sortBy ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġlist Ġwith Ġsort _ by , Ġpublic `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠRelease Ġdates Ġis Ġnot Ġsupported Ġfor ĠTV Ġshows ĊĠĠĠĠĠĠĠ Ġval Ġvotes Ġ= ĠT MD b . list Service . details ( LIST _ ID _ AN IME , ĠsortBy Ġ= ĠList Sort By . V OTE _ A VER AGE _ DESC ). invoke () !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. results . map Ġ{ Ġif Ġ( it Ġis ĠT mdb Show . Slim ) Ġit . vote Average Ġelse Ġ 0 . 0 Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( votes [ 0 ] Ġ>= Ġvotes [ 1 ]) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelease Dates Ġ= ĠT MD b . list Service . details ( LIST _ ID _ AN IME _ MO VI ES , ĠsortBy Ġ= ĠList Sort By . RELEASE _ DATE _ ASC ). invoke () !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. results . map Ġ{ Ġif Ġ( it Ġis ĠT mdb Movie . Slim ) Ġit . release Date Ġelse Ġnull Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġrelease Dates [ 0 ] !!. date !! ĊĠĠĠĠĠĠĠ Ġval Ġsecond Ġ= Ġrelease Dates [ 1 ] !!. date !! ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( first . is Before ( second )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Create Ġand Ġdelete Ġlist `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠT MD b . accessToken Ġ= ĠACCESS _ TOKEN ĊĠĠĠĠĠĠĠ Ġval Ġcreate List Body Ġ= ĠT mdb Body . Create List (" My ĠList ", ĠLocale . GER MAN . language ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Id Ġ= ĠT MD b . list Service . create ( create List Body ). invoke () !!. list Id ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" My ĠList ", Ġdetails . name ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( details . description . isBlank ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( details . public ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Locale . GER MAN . language , Ġdetails . language Code ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( T MD b . list Service . delete ( list Id ). invoke () !!. success !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Create , Ġupdate Ġand Ġdelete Ġlist `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠT MD b . accessToken Ġ= ĠACCESS _ TOKEN ĊĊĠĠĠĠĠĠĠ Ġval Ġcreate List Body Ġ= ĠT mdb Body . Create List (" My ĠList ", ĠLocale . GER MAN . language ) ĊĠĠĠĠĠĠĠ Ġval Ġupdate List Body Ġ= ĠT mdb Body . Update List ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠList Sort By . V OTE _ A VER AGE _ DESC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" New ĠName ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Added ĠDescription ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Id Ġ= ĠT MD b . list Service . create ( create List Body ). invoke () !!. list Id ĊĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= ĠT MD b . list Service . update ( list Id , Ġupdate List Body ). invoke () !! ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" New ĠName ", Ġdetails . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Added ĠDescription ", Ġdetails . description ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( List Sort By . V OTE _ A VER AGE _ DESC , Ġdetails . sortBy ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( details . public ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( T MD b . list Service . delete ( list Id ). invoke () !!. success !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Add Ġitems Ġto Ġlist `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠT MD b . accessToken Ġ= ĠACCESS _ TOKEN ĊĊĠĠĠĠĠĠĠ Ġval Ġcreate List Body Ġ= ĠT mdb Body . Create List (" My ĠSample ĠList ", Ġ" de ") ĊĠĠĠĠĠĠĠ Ġval Ġlist Id Ġ= ĠT MD b . list Service . create ( create List Body ). invoke () !!. list Id ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails 1 Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġdetails 1 . total Results ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadd Builder 1 Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ BLACK _ CLO VER ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadded Items Response List 1 Ġ= ĠT MD b . list Service . add Items ( list Id , Ġadd Builder 1 ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġadded Items Response List 1 . count ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( added Items Response List 1 . all Ġ{ Ġit . success Ġ== Ġtrue Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġadd Builder 2 Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadded Items Response List 2 Ġ= ĠT MD b . list Service . add Items ( list Id , Ġadd Builder 2 ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġadded Items Response List 2 . count ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( added Items Response List 2 . first (). success !! ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails 2 Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġdetails 2 . total Results ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( T MD b . list Service . delete ( list Id ). invoke () !!. success !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Update Ġitems Ġof Ġlist `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠT MD b . accessToken Ġ= ĠACCESS _ TOKEN ĊĊĠĠĠĠĠĠĠ Ġval Ġcreate List Body Ġ= ĠT mdb Body . Create List (" My ĠSample ĠList ", Ġ" de ") ĊĠĠĠĠĠĠĠ Ġval Ġlist Id Ġ= ĠT MD b . list Service . create ( create List Body ). invoke () !!. list Id ĊĊĠĠĠĠĠĠĠ Ġval Ġadd Builder Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ BLACK _ CLO VER ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadded Items Response List Ġ= ĠT MD b . list Service . add Items ( list Id , Ġadd Builder ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġadded Items Response List . count ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( added Items Response List . all Ġ{ Ġit . success Ġ== Ġtrue Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails 1 Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġdetails 1 . get Comment For ( details 1 . results . first ())) ĊĊĠĠĠĠĠĠĠ Ġval Ġupdate Builder Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA , Ġ" New Ġcomment ") ĊĊĠĠĠĠĠĠĠ Ġval Ġupdate Items Response List Ġ= ĠT MD b . list Service . update Items ( list Id , Ġupdate Builder ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġupdate Items Response List . count ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( update Items Response List . first (). success !! ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails 2 Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals (" New Ġcomment ", Ġdetails 2 . get Comment For ( details 2 . results . first ())) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( T MD b . list Service . delete ( list Id ). invoke () !!. success !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġitems Ġfrom Ġlist `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠT MD b . accessToken Ġ= ĠACCESS _ TOKEN ĊĊĠĠĠĠĠĠĠ Ġval Ġcreate List Body Ġ= ĠT mdb Body . Create List (" My ĠSample ĠList ", Ġ" de ") ĊĠĠĠĠĠĠĠ Ġval Ġlist Id Ġ= ĠT MD b . list Service . create ( create List Body ). invoke () !!. list Id ĊĊĠĠĠĠĠĠĠ Ġval Ġadd Builder Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ BLACK _ CLO VER ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadded Items Response List 1 Ġ= ĠT MD b . list Service . add Items ( list Id , Ġadd Builder ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġadded Items Response List 1 . count ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( added Items Response List 1 . all Ġ{ Ġit . success Ġ== Ġtrue Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġremove Builder Ġ= ĠT mdb Body . Media Item . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( MediaType . TV , ĠSHOW _ ID _ M HA ) ĊĊĠĠĠĠĠĠĠ Ġval Ġremove Items Response List Ġ= ĠT MD b . list Service . remove Items ( list Id , Ġremove Builder ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġremove Items Response List . count ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( remove Items Response List . first (). success !! ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdetails 2 Ġ= ĠT MD b . list Service . details ( list Id ). invoke () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġdetails 2 . total Results ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( T MD b . list Service . delete ( list Id ). invoke () !!. success !! ) ĊĠĠĠ Ġ} Ċ }