package Ġru . iop ump . qa . sample . spec Ċ Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock Ċ import Ġio . kot est . assertions . as Cl ue Ċ import Ġio . kot est . core . config . Experimental K ot est Ċ import Ġio . kot est . core . spec . style . Free Spec Ċ import Ġio . kot est . matchers . ints . shouldBe Positive Ċ import Ġio . kot est . matchers . null s . should Not BeNull Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . next Ċ import Ġio . kot est . property . ar bitrary . positive Ints Ċ import Ġio . kot est . property . ar bitrary . string Pattern Ċ import Ġio . q ame ta . all ure . Epic Ċ import Ġio . q ame ta . all ure . Feature Ċ import Ġio . q ame ta . all ure . Link Ċ import Ġio . q ame ta . all ure . Story Ċ import Ġokhttp 3 . Credentials Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . await Response Ċ import Ġru . iop ump . qa . sample . Registry And Project Configuration . employee Service Ċ import Ġru . iop ump . qa . sample . Registry And Project Configuration . wire mock Client Ċ import Ġru . iop ump . qa . sample . model . Employee Ċ Ċ @ Experimental K ot est Ċ @ Epic (" T pro ger Ġexample ") Ċ @ Feature (" Employee Ġendpoint ") Ċ @ Story (" CRUD ") Ċ @ Link (" tp ro ger . ru ", Ġurl Ġ= Ġ" https :// tp ro ger . ru /") Ċ class ĠEmployee Spec Ġ: ĠFree Spec () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġconcurrency (): ĠInt Ġ= Ġ 2 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Scenario : ĠGetting Ġemployee Ġby Ġid " Ġ- Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġexpected Id Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Given Ġtest Ġenvironment Ġis Ġup Ġand Ġtest Ġdata Ġprepared " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Id Ġ= ĠA rb . positive Ints (). next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġresponse : ĠResponse < Employee > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" When Ġclient Ġsent Ġrequest Ġto Ġget Ġthe Ġemployee Ġby Ġid =$ expected Id " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ= Ġemployee Service . get ( expected Id ). await Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Then Ġclient Ġreceived Ġresponse Ġwith Ġstatus Ġ 2 0 0 Ġand Ġid =$ expected Id " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . as Cl ue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . code () ĠshouldBe Ġ 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . body (). should Not BeNull (). as Cl ue Ġ{ Ġemployee Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemployee . name ĠshouldBe Ġ" Max " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemployee . id ĠshouldBe Ġexpected Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Scenario : ĠCreating Ġnew Ġemployee " Ġ- Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġemployee : ĠEmployee ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Given Ġtest Ġenvironment Ġis Ġup Ġand Ġtest Ġdata Ġprepared " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemployee Ġ= ĠEmployee ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠA rb . string Pattern ("[ A - Z ]{ 1 }[ a - z ]{ 5 , 1 0 } "). next () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġresponse : ĠResponse < Employee > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbasic Ġ= ĠCredentials . basic (" user ", Ġ" user ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" When Ġclient Ġsent Ġrequest Ġto Ġcreate Ġnew Ġ$ employee " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ= Ġemployee Service . create ( basic , Ġemployee ). await Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Then Ġserver Ġreceived Ġrequest Ġwith Ġ$ employee " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwire mock Client . verify That ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWire Mock . post Requested For ( Wire Mock . urlPath EqualTo ("/ employee ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Header (" Authorization ", ĠWire Mock . equalTo ( basic )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" And Ġclient Ġreceived Ġresponse Ġwith Ġstatus Ġ 2 0 0 Ġwith Ġgenerated Ġid " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . as Cl ue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . code () ĠshouldBe Ġ 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . body (). should Not BeNull (). as Cl ue Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . name ĠshouldBe Ġemployee . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . id . should Not BeNull (). shouldBe Positive () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }