Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion changelog.d/5-internal/pr-2633
Original file line number Diff line number Diff line change
@@ -1 +1 @@
`LoginId` migrated to schema-profunctor
`LoginId` migrated to schema-profunctor (#2633, _)
Comment thread
battermann marked this conversation as resolved.
Outdated
12 changes: 9 additions & 3 deletions libs/wire-api/test/unit/Test/Wire/API/User/Auth.hs
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@ import Wire.API.User
import Wire.API.User.Auth

tests :: T.TestTree
tests = T.testGroup "Auth" [loginIdHappyCase, loginIdFailFast]
tests = T.testGroup "Auth" [loginIdHappyCase, loginIdFailFastOnEmail, loginIdFailFastOnPhone]

loginIdHappyCase :: T.TestTree
loginIdHappyCase = testCase "LoginId parser: valid email" $ do
let actual :: Maybe LoginId = Aeson.decode "{\"email\":\"foo@bar.com\"}"
let expected = Just $ LoginByEmail (Email {emailLocal = "foo", emailDomain = "bar.com"})
assertEqual "should succeed" expected actual

loginIdFailFast :: T.TestTree
loginIdFailFast = testCase "LoginId parser: invalid email, valid phone" $ do
loginIdFailFastOnEmail :: T.TestTree
loginIdFailFastOnEmail = testCase "LoginId parser: invalid email, valid phone" $ do
let actual :: Maybe LoginId = Aeson.decode "{\"email\":\"invalid-email\",\"phone\":\"+123456789\"}"
let expected = Nothing
assertEqual "should fail if any provided login id is invalid" expected actual

loginIdFailFastOnPhone :: T.TestTree
loginIdFailFastOnPhone = testCase "LoginId parser: invalid phone, valid email" $ do
let actual :: Maybe LoginId = Aeson.decode "{\"email\":\"foo@bar.com\",\"phone\":\"invalid-phone\"}"
let expected = Nothing
assertEqual "should fail if any provided login id is invalid" expected actual