git.iko.soy/servant-quickcheck
on master help sign in
Add sanity check test in there to prove jsonEquality really is doing something different
commit3f6856103a284859a552a2cc91f1209b14444217 authorErik Aker <eraker@gmail.com> dateSun 16 Jul 2017, 08:59 (9 years ago) parent482656b
1 file changed+8−2
test/Servant/QuickCheck/InternalSpec.hs+8−2
test/Servant/QuickCheck/InternalSpec.hs+8−2
@@ -71,12 +71,18 @@ serversEqualSpec = describe "serversEqual" $ do
7171
7272 context "when JSON is equal but looks a bit different as a ByteString" $ do
7373
74− it "considers equal JSON apis equal regardless of ordering or whitespace" $ do
74+ it "sanity check: different whitespace same JSON objects bodyEquality fails" $ do
75+ Right (Failure _ err) <- withServantServer jsonApi jsonServer1 $ \burl1 ->
76+ withServantServer jsonApi jsonServer2 $ \burl2 -> do
77+ safeEvalExample $ serversEqual jsonApi burl1 burl2 args bodyEquality
78+ show err `shouldContain` "Server equality failed"
79+
80+ it "jsonEquality considers equal JSON apis equal regardless of key ordering or whitespace" $ do
7581 withServantServerAndContext jsonApi ctx jsonServer1 $ \burl1 ->
7682 withServantServerAndContext jsonApi ctx jsonServer2 $ \burl2 ->
7783 serversEqual jsonApi burl1 burl2 args jsonEquality
7884
79− it "sees when JSON apis are not equal regardless of ordering or whitespace" $ do
85+ it "sees when JSON apis are not equal because any value is different" $ do
8086 Right (Failure _ err) <- withServantServer jsonApi jsonServer2 $ \burl1 ->
8187 withServantServer jsonApi jsonServer3 $ \burl2 -> do
8288 safeEvalExample $ serversEqual jsonApi burl1 burl2 args jsonEquality