package Ġcom . sch ib st ed . account . ui . login Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin . any Ċ import Ġcom . n ha ar man . mockito _ kotlin . do Return Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġcom . sch ib st ed . account . Client Configuration Ċ import Ġcom . sch ib st ed . account . common . tracking . Tracking Data Ċ import Ġcom . sch ib st ed . account . common . util . Logger Ċ import Ġcom . sch ib st ed . account . engine . input . Ag re ements Ċ import Ġcom . sch ib st ed . account . engine . integration . Input Provider Ċ import Ġcom . sch ib st ed . account . engine . integration . Result Callback Ċ import Ġcom . sch ib st ed . account . model . No Value Ċ import Ġcom . sch ib st ed . account . model . error . Client Error Ċ import Ġcom . sch ib st ed . account . ui . login . screen . term . Terms Contract Ċ import Ġcom . sch ib st ed . account . ui . login . screen . term . Terms Presenter Ċ import Ġcom . sch ib st ed . account . ui . ui . component . CheckBox View Ċ import Ġio . kot lint est . specs . Word Spec Ċ Ċ class ĠTerms Presenter Test Ġ: ĠWord Spec () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Config Ġ= ĠClient Configuration (" https :// dev - example . com /", Ġ" my Id ", Ġ" my Secret ") ĊĠĠĠĠĠĠĠ ĠClient Configuration . set ( test Config ) ĊĠĠĠĠĠĠĠ ĠLogger . logging Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠBase Login Activity . tracker Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġval Ġprovider : ĠInput Provider < Ag re ements > Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠTerms Contract . View Ġ= Ġmock Ġ{ Ġon Ġ{ ĠisActive Ġ} Ġdo Return Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpresenter Ġ= ĠTerms Presenter ( view , Ġprovider ) ĊĊĠĠĠĠĠĠĠ Ġ" initialization " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġassign Ġthe Ġpresenter Ġto Ġthe Ġview " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( view ). set Presenter ( presenter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" verify Ġcheck boxes Ġstate " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġterms Box : ĠCheckBox View Ġ= Ġmock Ġ{ Ġon Ġ{ Ġis Checked Ġ} Ġdo Return Ġfalse Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" show Ġterms Ġerror Ġif Ġterms Ġbox Ġisn 't Ġchecked " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . accept Terms ( terms Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( view ). show Error ( terms Box ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" track Ġerror Ġif Ġboxes Ġaren 't Ġchecked " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . accept Terms ( terms Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( Base Login Activity . tracker )?. event Error ( Tracking Data . UI Error . Ag re ements Not Accepted , ĠTracking Data . Screen . AG REE MENTS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" show Ġprogress Ġif Ġboxes Ġare Ġchecked " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġterms Box Ġ= Ġmock Ġ{ Ġon Ġ{ Ġis Checked Ġ} Ġdo Return Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . accept Terms ( terms Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( view ). show Progress () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" hide Ġprogress Ġif Ġterms Ġacceptance Ġfailed Ġand Ġtrack Ġfailure " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġterms Box Ġ= Ġmock Ġ{ Ġon Ġ{ Ġis Checked Ġ} Ġdo Return Ġtrue Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠClient Error ( Client Error . ErrorType . NETWORK _ ERROR , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( provider . provide ( any (), Ġany ())). then Answer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( it . get Argument ( 1 ) Ġas ĠResult Callback < No Value >). onError ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . accept Terms ( terms Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( view ). hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( Base Login Activity . tracker )?. event Error ( Tracking Data . UI Error . Network Error , ĠTracking Data . Screen . AG REE MENTS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ