Refactor time format used in FTime tests.

This commit is contained in:
Alex Mason 2015-12-07 13:05:55 +11:00
parent 937c8a40fc
commit 070fe26831

View file

@ -133,14 +133,16 @@ captureSpec = do
it "strips the captured path snippet from pathInfo" $ do it "strips the captured path snippet from pathInfo" $ do
get "/captured/foo" `shouldRespondWith` (fromString (show ["foo" :: String])) get "/captured/foo" `shouldRespondWith` (fromString (show ["foo" :: String]))
type TimeFormatWSpace = "%Y-%m-%d %H:%M:%S%Z"
type CaptureTimeApi = (Capture "date" (FTime "%Y-%m-%d" Day) :> Get '[PlainText] String) type CaptureTimeApi = (Capture "date" (FTime "%Y-%m-%d" Day) :> Get '[PlainText] String)
:<|> :<|>
("datetime" :> Capture "datetime" (FTime "%Y-%m-%d %H:%M:%S%Z" UTCTime) :> Get '[PlainText] String) ("datetime" :> Capture "datetime" (FTime TimeFormatWSpace UTCTime) :> Get '[PlainText] String)
captureTimeApi :: Proxy CaptureTimeApi captureTimeApi :: Proxy CaptureTimeApi
captureTimeApi = Proxy captureTimeApi = Proxy
captureDateServer :: FTime "%Y-%m-%d" Day -> ExceptT ServantErr IO String captureDateServer :: FTime "%Y-%m-%d" Day -> ExceptT ServantErr IO String
captureDateServer = return . show captureDateServer = return . show
captureDateTimeServer :: FTime "%Y-%m-%d %H:%M:%S%Z" UTCTime -> ExceptT ServantErr IO String captureDateTimeServer :: FTime TimeFormatWSpace UTCTime -> ExceptT ServantErr IO String
captureDateTimeServer = return . show captureDateTimeServer = return . show
@ -159,7 +161,7 @@ captureTimeSpec = do
Just time = makeTimeOfDayValid 12 34 56 Just time = makeTimeOfDayValid 12 34 56
tz = hoursToTimeZone 10 tz = hoursToTimeZone 10
utcT = localTimeToUTC tz (LocalTime day time) utcT = localTimeToUTC tz (LocalTime day time)
ftime :: FTime "%Y-%m-%d %H:%M:%S%Z" UTCTime ftime :: FTime TimeFormatWSpace UTCTime
ftime = FTime utcT ftime = FTime utcT
response <- get "/datetime/2015-12-02%2012:34:56+1000" response <- get "/datetime/2015-12-02%2012:34:56+1000"
liftIO $ simpleBody response `shouldBe` (fromString . show $ ftime) liftIO $ simpleBody response `shouldBe` (fromString . show $ ftime)
@ -169,7 +171,7 @@ captureTimeSpec = do
get "/notAnInt" `shouldRespondWith` 404 get "/notAnInt" `shouldRespondWith` 404
with (return (serve with (return (serve
(Proxy :: Proxy (Capture "datetime" (FTime "%Y-%m-%d %H:%M:%S%Z" UTCTime) :> Raw)) (Proxy :: Proxy (Capture "datetime" (FTime TimeFormatWSpace UTCTime) :> Raw))
(\ (FTime day )request_ respond -> (\ (FTime day )request_ respond ->
respond $ responseLBS ok200 [] (cs $ show $ pathInfo request_)))) $ do respond $ responseLBS ok200 [] (cs $ show $ pathInfo request_)))) $ do
it "strips the captured path snippet from pathInfo" $ do it "strips the captured path snippet from pathInfo" $ do