Nette Tester – nastavení času

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
motorcb
Člen | 551
+
0
-

Zdravím,

mám projekt kde chci v určitý den spustit akci za zboží. Dejme tomu že 1.5.2015 by se na stránkách měla zobrazit hláška že došlo ke spuštění akce na zboží. Když nyní spustím test tak projde, protože ještě nebylo 1.5.2015 a hláška se nezobrazuje.

Ale jak otestovat že po 1.5.2015 se hláška úspěšně zobrazí? To kdy budu zobrazovat hlášku o akci mám uložené v databázi.

abc
Člen | 92
+
-1
-

Jestli vyvijis na lokale (jakoze bys mel), tak co treba posunout datum ;)

Editoval abc (18. 4. 2015 19:39)

motorcb
Člen | 551
+
0
-

Díky, ale jak nejlépe zautomatizovat změnu datumu?

Azathoth
Člen | 495
+
+2
-

já používám https://github.com/…sbitt/Carbon knihovnu carbon na datetime a veškeré objekty datetime, které mám, jsou právě Carbon. Má to nesmírně pohodlné api na testování. A nejen na testování. Na začátku testl nastavím požadovaný testovací čas a když jinde vytvořím nový datetime se dnešním datem, automaticky je tam to testovací.

Milo
Nette Core | 1283
+
+1
-

@motorcb Pokud chceš testovat něco, co je na čase závislé, vyvaruj se přímému použití time() v kódu. V DI kontejneru si vytvoř službu \DateTime (nebo nějaký derivát) a tu si injektuj do všech modelů, které s časem pracují. Testování je pak hračka.