/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġdelta DNA ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . delt ad na . android . sdk Ċ Ċ import Ġcom . github . sal om on br ys . kot son . jsonObject Ċ import Ġcom . n ha ar man . mockito _ kotlin .* Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . lang . System . currentTimeMillis Ċ Ċ class ĠAction Store Test Ġ{ ĊĠĠĠĠĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdatabase : ĠDatabase Helper ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġu ut : ĠAction Store ĊĠĠĠĠĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġu ut Ġ= ĠAction Store ( database ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` action Ġis Ġretrieved Ġfrom Ġdb Ġon Ġget `() Ġ{ ĊĠĠĠĠĠĠĠ Ġu ut . get ( mock < Event Trigger >(). apply Ġ{ Ġwhenever ( campaign Id ). then Ġ{ Ġ 1 L Ġ} Ġ}) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġverify ( database ). getAction ( eq ( 1 L )) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` action Ġis Ġinserted Ġinto Ġdb Ġon Ġput `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠjsonObject (" a " Ġto Ġ 1 , Ġ" b " Ġto Ġ 2 ). convert () ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġu ut . put ( mock < Event Trigger >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( eventName ). then Ġ{ Ġ" name " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( campaign Id ). then Ġ{ Ġ 1 L Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġaction ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġverify ( database ). insert Action Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeq (" name "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeq ( 1 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarg That Ġ{ Ġ Ġtime Ġ>= ĠcurrentTime Millis () Ġ- Ġ 5 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġtime Ġ<= ĠcurrentTime Millis () Ġ+ Ġ 5 0 0 Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarg That Ġ{ Ġ"$ this " Ġ== Ġ"$ action " Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` action Ġis Ġremoved Ġfrom Ġdb Ġon Ġremove `() Ġ{ ĊĠĠĠĠĠĠĠ Ġu ut . remove ( mock < Event Trigger >(). apply Ġ{ Ġwhenever ( campaign Id ). then Ġ{ Ġ 1 L Ġ} Ġ}) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġverify ( database ). remove Action Row ( eq ( 1 L )) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` action Ġrows Ġare Ġremoved Ġfrom Ġdb Ġon Ġclear `() Ġ{ ĊĠĠĠĠĠĠĠ Ġu ut . clear () ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġverify ( database ). remove Action Rows () ĊĠĠĠ Ġ} Ċ } Ċ