From 41d04a1efd647c1b56a0fff65ba3ec325268f83e Mon Sep 17 00:00:00 2001 From: Andreas Ekeroot Date: Sun, 24 Sep 2023 12:15:44 +0200 Subject: [PATCH] =?UTF-8?q?chore:=20Put=20back=20K=C3=A5ren-test=20with=20?= =?UTF-8?q?fresh=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank you @The1Penguin for the feedback! Run this in the repl to get fresh test data: ```Haskell dateNow <- fmap (view _zonedTimeToLocalTime) getZonedTime tomorrow = (dateNow & (_localDay . gregorian . _ymdDay) %~ (+ 1)) ^. _localDay runStack $ fetch "21f31565-5c2b-4b47-d2a1-08d558129279" tomorrow ``` Then run the test and adjust the expected data to match the actual data. This is the backwards way to write tests, but I think it's alright when it's this easy to see if expectation and actual data matches. --- test/Main.hs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/Main.hs b/test/Main.hs index de74de3..b6ee0d9 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -24,6 +24,28 @@ testFun expected = either main :: IO () main = hspec $ do + describe "hasDate" + $ it "parses a legit date" (hasDate (BL8.pack "2/1") @?= Just (1, 2)) + describe "The Karen Express" $ it + "parses a blob of JSON without error" + ( testFun + [ Menu + (T.pack "Street food") + (T.pack "Chicken africana, banan, mango raja, ris") + , Menu + (T.pack "Greens") + (T.pack "Indisklinsgryta, zucchini, aubergin, ingef\228ra, koriander, ris") + , Menu + (T.pack "Nordic") + (T.pack "F\228rskost bakad sej, vitvinss\229s, broccoli, potatis") + ] + $ parse + "Swedish" + (BL8.pack + "{\"data\":{\"dishOccurrencesByTimeRange\":[{\"displayNames\":[{\"name\":\"Chicken africana, banan, mango raja, ris\",\"categoryName\":\"Swedish\"},{\"name\":\"Chicken africana, banana, mango raja, rice\",\"categoryName\":\"English\"}],\"startDate\":\"09/25/2023 00:00:00\",\"dishType\":{\"name\":\"Street food\"},\"dish\":{\"name\":\"Kyckling, het paprikas\195\165s & ris\"}},{\"displayNames\":[{\"name\":\"Indian linseed stew, zucchini, aubergine, ginger, coriander\",\"categoryName\":\"English\"},{\"name\":\"Indisklinsgryta, zucchini, aubergin, ingef\195\164ra, koriander, ris\",\"categoryName\":\"Swedish\"}],\"startDate\":\"09/25/2023 00:00:00\",\"dishType\":{\"name\":\"Greens\"},\"dish\":{\"name\":\"Vegan, pasta, linsbolognese\"}},{\"displayNames\":[{\"name\":\"F\195\164rskost bakad sej, vitvinss\195\165s, broccoli, potatis\",\"categoryName\":\"Swedish\"},{\"name\":\"Cream cheese baked saithe, whitewine sauce, broccoli, potatoes\",\"categoryName\":\"English\"}],\"startDate\":\"09/25/2023 00:00:00\",\"dishType\":{\"name\":\"Nordic\"},\"dish\":{\"name\":\"Bakad fisk, vitvinss\195\165s, potatispur\195\169\"}}]}}\n" + ) + ) + describe "The Wijkander's" $ it "Parses two blobs of HTML correctly on fridays" $ do