From 4240c90039e78bde98fcc3e0e27bad5d2c771bae Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Tue, 4 Nov 2025 22:53:47 +0100 Subject: post correct challenge response --- lambda-calcul/haskell/test/Minilang/ServerSpec.hs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lambda-calcul/haskell/test/Minilang/ServerSpec.hs') diff --git a/lambda-calcul/haskell/test/Minilang/ServerSpec.hs b/lambda-calcul/haskell/test/Minilang/ServerSpec.hs index a7926d3..544d0b7 100644 --- a/lambda-calcul/haskell/test/Minilang/ServerSpec.hs +++ b/lambda-calcul/haskell/test/Minilang/ServerSpec.hs @@ -57,7 +57,7 @@ spec = with (app testSeed) $ do `shouldRespondWith` 400 it "GET /api/challenge returns next challenge given user is registered" $ do - let expected = encode $ Challenge {level = 1, expr = "x"} + let expected = encode $ Challenge {level = 0, expr = "x"} postJSON "/api/register" alice `shouldRespondWith` 201 @@ -70,6 +70,17 @@ spec = with (app testSeed) $ do else Just ("Expected challenge " ++ show expected ++ ", but got " ++ show b) } + it "GET /api/challenge returns 400 given user is not registered" $ + get ("/api/challenge?token=" <> LBS.toStrict token) + `shouldRespondWith` 400 + + it "POST /api/challenge returns 200 given challenge response is correct" $ do + let response = "\"x\"" + void $ postJSON "/api/register" alice + + postJSON ("/api/challenge?token=" <> LBS.toStrict token) response + `shouldRespondWith` 200 + postJSON :: BS.ByteString -> ByteString -> WaiSession () SResponse postJSON url = request "POST" url [("Content-Type", "application/json")] -- cgit v1.3.1