Test for no results case

This commit is contained in:
Joe Nelson
2014-09-07 11:02:43 -07:00
parent 63e3d69f4d
commit db7ccda74d
2 changed files with 13 additions and 2 deletions
+3 -1
View File
@@ -111,7 +111,9 @@ respondWithRangedResult rr =
from = rrFrom rr
to = rrTo rr
total = rrTotal rr
status = if (1 + to - from) < total then status206 else status200
status = if total == 0 then status204
else if (1 + to - from) < total then status206
else status200
requestedVersion :: RequestHeaders -> Maybe Int
requestedVersion hdrs =
+10 -1
View File
@@ -25,7 +25,7 @@ spec = around appWithFixture $
(rangeHdrs $ ByteRangeFromTo 0 1) ""
liftIO $ do
simpleHeaders r `shouldSatisfy`
matchHeader "Content-Range" "0-1/[0-9]+"
matchHeader "Content-Range" "0-1/15"
simpleStatus r `shouldBe` partialContent206
it "understands open-ended ranges" $
@@ -33,6 +33,15 @@ spec = around appWithFixture $
(rangeHdrs $ ByteRangeFrom 0) ""
`shouldRespondWith` 200
it "returns an empty body when there are no results" $
request methodGet "/menagerie"
(rangeHdrs $ ByteRangeFromTo 0 1) ""
`shouldRespondWith` ResponseMatcher {
matchBody = Nothing
, matchStatus = 204
, matchHeaders = []
}
context "of invalid range" $
it "fails with 416 for offside range" $
request methodGet "/items"