package Ġat . cp ick l . g ads u . client Ċ Ċ import Ġat . cp ick l . g ads u . client . view . detail . Client Tab Type Ċ import Ġat . cp ick l . g ads u . test infra . IS _ TR AV IS Ċ import Ġat . cp ick l . g ads u . test infra . TEST _ DATETIME 2 Ċ import Ġat . cp ick l . g ads u . test infra . ui . Ui Test Ċ import Ġat . cp ick l . g ads u . test infra . ui . click And Dispose Dialog Ċ import Ġat . cp ick l . g ads u . test infra . un saved Valid Instance Ċ import Ġat . cp ick l . g ads u . view . language . Labels Ċ import Ġcom . github . ch ristop h pick l . k pot p our ri . test 4 k . skip Ċ import Ġorg . testng . annotations . Before Method Ċ import Ġorg . testng . annotations . Test Ċ import Ġjava . lang . reflect . Method ĊĊ Ċ @ Test ( groups Ġ= ĠarrayOf (" ui Test ")) Ċ class ĠClient Ui Test Ġ: ĠUi Test () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġclient Ġ= ĠClient . un saved Valid Instance () ĊĊĠĠĠ Ġprivate Ġval Ġdriver : ĠClient Driver Ġget () Ġ= Ġclient Driver ĊĊĠĠĠ Ġ@ Before Method ĊĠĠĠ Ġfun Ġreset State ( method : ĠMethod ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . debug (" reset State () ") ĊĊĠĠĠĠĠĠĠ Ġtreatment Driver . go Back If Is T reatment Visible () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( driver . cancel Button . awt Component . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdriver . cancel Button . click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click () ĊĊĠĠĠĠĠĠĠ Ġ// Ġensure Ġeach Ġtest Ġis Ġusing Ġa Ġunique Ġclient Ġinstance ĊĠĠĠĠĠĠĠ Ġclient Ġ= ĠClient . un saved Valid Instance (). copy ( firstName Ġ= Ġjava Class . simple Name , ĠlastName Ġ= Ġmethod . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` birthday Ġdate Ġpanel Ġis Ġclosed Ġwhen Ġcreating Ġnew Ġtreatment `() Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( IS _ TR AV IS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskip (" This Ġtest Ġfails Ġon Ġtravis Ġonly ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskip (" Fails Ġalso Ġlocally , Ġbut Ġexecuting Ġthis Ġtest Ġmanually Ġsucceeds Ġ:- /") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsave Client ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . input Birth date . open Popup By Button Ġ{ Ġcontext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . assert Popup Visible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtreatment Driver . open New Button . click () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . assert Popup Visible ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" save "> ĊĊĠĠĠ Ġfun Ġ` save Ġclient Ġshould Ġchange Ġsave Ġbutton Ġtext `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( driver ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Save ButtonText Equals ( Labels . Buttons . Insert ) Ġ// Ġsanity Ġcheck ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Full Client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Save ButtonText Equals ( Labels . Buttons . Update ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert View Contains ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert List Contains ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert List Selected ( client ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Client _ should Update In List As Well () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . fill Names ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . save Button . click () ĊĊĠĠĠĠĠĠĠ Ġdriver . assert List Contains ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . assert List Selected ( client ) ĊĊĠĠĠĠĠĠĠ Ġval Ġupdated Client Ġ= Ġclient . copy ( firstName Ġ= Ġ" initial Ġfirst Ġname Ġwill Ġbe Ġupdated ") ĊĠĠĠĠĠĠĠ Ġdriver . fill Names ( updated Client ) ĊĠĠĠĠĠĠĠ Ġdriver . save Button . click () ĊĊĠĠĠĠĠĠĠ Ġdriver . assert List Contains ( updated Client ) ĊĠĠĠĠĠĠĠ Ġdriver . assert List Selected ( updated Client ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` Save Ġwithout Ġany Ġname Ġentered Ġfails `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġdriver . input LastName . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġdriver . input Job . text Ġ= Ġ" test Ġfirst Ġname " ĊĊĠĠĠĠĠĠĠ ĠassertThat (" Expected Ġsave Ġbutton Ġto Ġbe Ġenabled Ġafter Ġchanging Ġsome Ġproperty Ġ( different Ġfrom Ġnames )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdriver . save Button . isEnabled ) ĊĊĠĠĠĠĠĠĠ Ġdriver . save Button . click And Dispose Dialog ( Labels . Client Save Dialog . button , ĠLabels . Client Save Dialog . title ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` changing ĠT CM Ġnote Ġand Ġsaving Ġclient Ġshould Ġdisable Ġsave Ġbutton `() Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Client ( client ) ĊĊĠĠĠĠĠĠĠ Ġdriver . change Tab ( Client Tab Type . T CM ) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Fresh ly Ġsaved Ġclient Ġshould Ġnot Ġbe Ġsav able !", Ġdriver . save Button . isEnabled ) ĊĠĠĠĠĠĠĠ Ġdriver . input T cm Note . text Ġ= Ġ" something Ġnew " ĊĠĠĠĠĠĠĠ ĠassertTrue (" T CM Ġnote Ġchanged , Ġclient Ġshould Ġbe Ġsav able !", Ġdriver . save Button . isEnabled ) ĊĠĠĠĠĠĠĠ Ġdriver . save Button . click () ĊĠĠĠĠĠĠĠ ĠassertFalse (" After Ġsaving Ġclient Ġwith Ġchanged ĠT CM Ġnote , Ġit Ġshould Ġnot Ġbe Ġsav able !", Ġdriver . save Button . isEnabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" cancel "> ĊĠĠĠ Ġfun Ġcancel Insert Client _ should Clear All Fields () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( driver . input FirstName . text IsEmpty ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( driver . input LastName . text IsEmpty ()) ĊĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġclient . firstName ĊĠĠĠĠĠĠĠ Ġdriver . input LastName . text Ġ= Ġclient . lastName ĊĊĠĠĠĠĠĠĠ Ġdriver . cancel Button . click () ĊĊĠĠĠĠĠĠĠ ĠassertThat ( driver . input FirstName . text IsEmpty ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( driver . input LastName . text IsEmpty ()) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" delete "> ĊĊĠĠĠ Ġfun Ġ` delete Client Ġsun sh ine `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . save Basic Client ( client ) ĊĊĠĠĠĠĠĠĠ Ġmain Driver . menu Bar Driver . delete Client () ĊĊĠĠĠĠĠĠĠ Ġdriver . assert List Not Contains ( client ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" create Ġnew "> ĊĊĠĠĠ Ġfun Ġcreate New Client Request _ should De select Entry In Master List () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . save Basic Client ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . assert List Selected ( client ) ĊĊĠĠĠĠĠĠĠ Ġdriver . create Button . click () ĊĠĠĠĠĠĠĠ Ġdriver . assert List Selection Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` When Ġhit Ġcreate Ġbutton , Ġthen Ġthe Ġfirst Ġname Ġtext field Ġshould Ġhave Ġfocus `() Ġ{ ĊĠĠĠĠĠĠĠ Ġskip (" focus Ġworks Ġin Ġreal Ġapp , Ġbut Ġdoes Ġnot Ġwork Ġin Ġui Ġtest Ġ: (" ) ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click () ĊĠĠĠĠĠĠĠ Ġdriver . assert Has Focus ( driver . input FirstName ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" check Ġchanges "> ĊĊĠĠĠ Ġ// Ġsame Ġapplies Ġfor Ġalready Ġsaved Ġclient ĊĠĠĠ Ġ// Ġand Ġalso Ġwhen Ġhit Ġthe Ġcancel Ġbutton ĊĠĠĠ Ġfun Ġbuttons Disabled If There Are No Changes For Empty Client () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . assert No Changes Detected () ĊĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ" changed " ĊĠĠĠĠĠĠĠ Ġdriver . assert Changes Detected () ĊĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġdriver . assert No Changes Detected () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Un saved Changes _ create Button _ new Client () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ" foo " ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click And Dispose Dialog (" Abbre chen ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Un saved Changes _ create Button _ new Client _ save () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġclient . firstName ĊĠĠĠĠĠĠĠ Ġdriver . input LastName . text Ġ= Ġclient . lastName ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click And Dispose Dialog (" Spe ich ern ") ĊĊĠĠĠĠĠĠĠ Ġdriver . assert List Contains ( client ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Un saved Changes _ create Button _ existing Client () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . save Basic Client ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ" something Ġelse " ĊĊĠĠĠĠĠĠĠ Ġdriver . create Button . click And Dispose Dialog (" Abbre chen ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Un saved Changes _ select Different In List _ for New Client () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . save Basic Client ( client ) ĊĊĠĠĠĠĠĠĠ Ġdriver . create Button . click () ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ" foo " ĊĊĠĠĠĠĠĠĠ Ġdriver . trigger Dialog And Click ({ Ġdriver . select List ( client ) Ġ}, Ġ" Abbre chen ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Un saved Changes _ select Different In List _ existing Client () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . input FirstName . text Ġ= Ġ" foo " ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click And Dispose Dialog (" Abbre chen ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` check Changes , Ġwhen Ġchange Ġbirthday Ġfor Ġnew Ġclient , Ġthen Ġsave Ġshould Ġbe Ġenabled Ġ( alth ough Ġnot Ġsave able Ġas Ġno Ġname Ġgiven )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . input Birth date . change Date ( TEST _ DATETIME 2 . plus Days ( 1 7 )) ĊĠĠĠĠĠĠĠ Ġdriver . assert Changes Detected () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` check Changes Ġfor Ġfull Ġclient `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . save Full Client ( client ) ĊĠĠĠĠĠĠĠ Ġdriver . create Button . click () Ġ// Ġthis Ġshould ĠNOT Ġtrigger Ġa Ġpopup ! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// Ġ--------------------------------------------------------------------------- ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" image "> ĊĊĠĠĠ Ġ// Ġcheck Ġchanges ĊĠĠĠ Ġfun Ġ` When Ġchanging Ġpicture , Ġthen Ġsave Ġbutton Ġshould Ġbe Ġenabled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġskip (" changing Ġimage Ġhas Ġchanged ") Ġ// ĠMIN OR Ġ@ TEST Ġ- Ġre enable Ġpicture Ġtest ĊĠĠĠĠĠĠĠ ĠassertThat ( not ( driver . save Button . isEnabled )) Ġ// Ġsanity Ġcheck ĊĊĠĠĠĠĠĠĠ Ġdriver . change Image () ĊĊĠĠĠĠĠĠĠ ĠassertThat (" Expected Ġsave Ġbutton Ġto Ġbe Ġenabled Ġafter Ġchanging Ġthe Ġimage !", Ġdriver . save Button . isEnabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` When Ġchanging Ġimage , Ġthen Ġimage Ġcontent Ġshould Ġhave Ġbeen Ġchanged `() Ġ{ ĊĠĠĠĠĠĠĠ Ġskip (" image Ġhandling Ġhas Ġchanged Ġ: (" ) Ġ// ĠMIN OR Ġ@ TEST Ġ- Ġre - enable Ġui Ġtest Ċ // ĠĠĠĠĠĠĠ Ġval Ġdriver Ġ= Ġclient Driver () Ċ // ĠĠĠĠĠĠĠ Ġval Ġold Image Ġ= Ġdriver . read Image () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġdriver . change Image () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġnew Image Ġ= Ġdriver . read Image () Ċ // ĠĠĠĠĠĠĠ ĠassertFalse (" Expected Ġimage Ġto Ġhave Ġchanged Ġbut Ġwas Ġstill Ġthe Ġsame Ġas Ġbefore Ġchanging Ġit !", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjects . equals ( old Image , Ġnew Image )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// </ editor - fold > Ċ Ċ } ĊĊ