๐Ÿ‘ฉโ€๐Ÿš’ Firefighters API written in Gleam!
lustre gleam

:white_check_mark: add tests for login going wrong

kacaii.dev 52d379dd 9f0fcf1c

verified
+35 -1
+35 -1
server/test/auth_test.gleam
··· 8 8 import shared/session 9 9 import wisp/simulate 10 10 11 - pub fn login_test() { 11 + pub fn login_test() -> Nil { 12 12 use ctx <- server_test.with_context() 13 13 let url = "/api/login" 14 14 ··· 35 35 assert returned.email == seed.email 36 36 assert returned.phone == seed.phone 37 37 } 38 + 39 + pub fn login_with_non_existent_user_test() { 40 + use ctx <- server_test.with_context() 41 + let url = "/api/login" 42 + 43 + let body = 44 + login_contract.RequestBody(email: "wibble@wobble", password: seed.password) 45 + |> login_contract.request_to_json 46 + 47 + let req = 48 + simulate.request(http.Post, url) 49 + |> simulate.json_body(body) 50 + 51 + let resp = router.handle_request(req, ctx) 52 + 53 + assert resp.status == 404 54 + } 55 + 56 + pub fn login_wrong_password_test() { 57 + use ctx <- server_test.with_context() 58 + let url = "/api/login" 59 + 60 + let body = 61 + login_contract.RequestBody(email: seed.email, password: "wibble") 62 + |> login_contract.request_to_json 63 + 64 + let req = 65 + simulate.request(http.Post, url) 66 + |> simulate.json_body(body) 67 + 68 + let resp = router.handle_request(req, ctx) 69 + 70 + assert resp.status == 401 71 + }