package Ġcom . jetbrains . edu . learning . step ik . hyper skill Ċ Ċ import Ġcom . intellij . openapi . file Types . Plain Text Language Ċ import Ġcom . jetbrains . edu . learning . E du TestCase Ċ import Ġcom . jetbrains . edu . learning . Mock Response Factory Ċ import Ġcom . jetbrains . edu . learning . course Format . Check Status Ċ import Ġcom . jetbrains . edu . learning . navigation . Navigation Utils Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . api . Hyper skill Connector Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . api . Mock Hyper skill Connector Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ Ċ class ĠHyper skill Complete Theory Task Test Ġ: ĠE du TestCase () Ġ{ ĊĠ Ġprivate Ġval Ġmock Connector : ĠMock Hyper skill Connector Ġget () Ġ= ĠHyper skill Connector . getInstance () Ġas ĠMock Hyper skill Connector ĊĊĠ Ġfun Ġ` test Ġsolving Ġtheory Ġproblem `() Ġ{ ĊĠĠĠ Ġlogin Fake User () ĊĊĠĠĠ Ġval Ġstep Id Ġ= Ġ 6 6 6 ĊĠĠĠ Ġvar Ġrequest Sent Ġ= Ġfalse ĊĠĠĠ Ġmock Connector . with Response Handler ( test Root Disposable ) Ġ{ Ġrequest Ġ-> ĊĠĠĠĠĠ Ġif Ġ( request . path . endsWith ("/ api / steps /$ step Id / complete ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Sent Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠMock Response (). set Response Code ( 2 0 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠMock Response Factory . not Found () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcourse Ġ= Ġhyper skill Course With Files ( name Ġ= Ġget Problems ProjectName (" TEXT "), Ġlanguage Ġ= ĠPlain Text Language . INSTANCE ) Ġ{ ĊĠĠĠĠĠ Ġsection ( HY PER SK ILL _ TOP ICS ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlesson (" lesson ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġtheory Task (" theory ", Ġstep Id Ġ= Ġstep Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" Task . txt ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" task . html ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġcode Task (" task 1 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" Task . txt ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" task . html ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġcode Task (" task 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" Task . txt ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask File (" task . html ", Ġ" file Ġtext ") ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtheory Task Ġ= Ġcourse . get Problem ( step Id ) Ġ?: Ġerror (" Can 't Ġfind Ġtheory Ġtask ") ĊĠĠĠ ĠassertFalse ( request Sent ) ĊĠĠĠ ĠassertFalse ( theory Task . status Ġ== ĠCheck Status . S olved ) ĊĠĠĠ ĠNavigation Utils . navigate To Task ( project , Ġtheory Task ) ĊĠĠĠ ĠassertTrue ( request Sent ) ĊĠĠĠ ĠassertTrue ( theory Task . status Ġ== ĠCheck Status . S olved ) ĊĠ Ġ} Ċ }