packages feed

users-test 0.3.0.0 → 0.4.0.0

raw patch · 2 files changed

+17/−7 lines, 2 filesdep ~users

Dependency ranges changed: users

Files

src/Web/Users/TestSpec.hs view
@@ -49,6 +49,13 @@          Right _ -> expectationFailure msg          Left v -> action v +assertJust :: IO (Maybe a) -> String -> (a -> IO ()) -> IO ()+assertJust val msg action =+    do r <- val+       case r of+         Nothing -> expectationFailure msg+         Just v -> action v+ makeUsersSpec :: forall b. UserStorageBackend b => b -> Spec makeUsersSpec backend =     before_ (initUserBackend backend) $@@ -60,13 +67,13 @@                  assertRight (createUser backend userB) $ \_ ->                      do assertLeft (createUser backend (mkUser "foo2" "bar2@baz.com"))                                        "succeeded to create foo2 bar2 again" $ \err ->-                            err `shouldBe` UsernameOrEmailAlreadyTaken+                            err `shouldBe` UsernameAndEmailAlreadyTaken                         assertLeft (createUser backend (mkUser "foo2" "asdas@baz.com"))                                        "succeeded to create foo2 with different email again" $ \err ->-                            err `shouldBe` UsernameOrEmailAlreadyTaken+                            err `shouldBe` UsernameAlreadyTaken                         assertLeft (createUser backend (mkUser "asdas" "bar2@baz.com"))                                        "succeeded to create different user with same email" $ \err ->-                            err `shouldBe` UsernameOrEmailAlreadyTaken+                            err `shouldBe` EmailAlreadyTaken               it "list and count should be correct" $                  assertRight (createUser backend userA) $ \userId1 ->                  assertRight (createUser backend userB) $ \userId2 ->@@ -80,10 +87,10 @@                      do assertRight (updateUser backend userIdA (\(user :: DummyUser) -> user { u_name = "changed" })) $ const (return ())                         assertLeft (updateUser backend userIdA (\(user :: DummyUser) -> user { u_name = "foo2" }))                                        "succeeded to set username to already used username" $ \err ->-                            err `shouldBe` UsernameOrEmailAlreadyExists+                            err `shouldBe` UsernameAlreadyExists                         assertLeft (updateUser backend userIdA (\(user :: DummyUser) -> user { u_email = "bar2@baz.com" }))                                        "succeeded to set email to already used email" $ \err ->-                            err `shouldBe` UsernameOrEmailAlreadyExists+                            err `shouldBe` EmailAlreadyExists                         updateUserDetails backend userIdA (\d -> d { dd_foo = False })                         userA' <- getUserById backend userIdA                         userA' `shouldBe`@@ -132,6 +139,9 @@               it "sessionless auth with invalid userdata should fail" $                  assertRight (createUser backend userA) $ \userIdA ->                     withAuthUser backend "bar@baz.com" ((/= DummyDetails True 21) . u_more) (return . (/= userIdA)) `shouldReturn` Nothing+              it "forcing a session works" $+                 assertRight (createUser backend userA) $ \userIdA ->+                 assertJust (createSession backend userIdA 500) "session id missing" $ \_ -> return ()               it "destroy session should really remove the session" $                  withAuthedUser $ \(sessionId, _) ->                      do destroySession backend sessionId
users-test.cabal view
@@ -1,5 +1,5 @@ name:                users-test-version:             0.3.0.0+version:             0.4.0.0 synopsis:            Library to test backends for the users library description:         Provides HSpec helpers for backends of <http://hackage.haskell.org/package/users users package>.                      .@@ -26,7 +26,7 @@                        aeson >=0.8,                        base >=4.6 && <5,                        hspec >=2.1,-                       users >=0.3.0.0,+                       users >=0.4.0.0,                        text >=1.2   hs-source-dirs:      src   default-language:    Haskell2010