purescript-httpurple/test/HTTPure/RequestSpec.purs

42 lines
1.2 KiB
Haskell
Raw Normal View History

module HTTPure.RequestSpec where
import Prelude
2017-09-26 06:08:07 +00:00
import Data.Tuple as Tuple
import Data.StrMap as StrMap
2017-07-10 10:17:13 +00:00
import Test.Spec as Spec
2017-07-18 01:51:43 +00:00
import HTTPure.Headers as Headers
2017-09-26 06:08:07 +00:00
import HTTPure.Method as Method
import HTTPure.Request as Request
2017-07-10 10:17:13 +00:00
import HTTPure.SpecHelpers as SpecHelpers
import HTTPure.SpecHelpers ((?=))
fromHTTPRequestSpec :: SpecHelpers.Test
fromHTTPRequestSpec = Spec.describe "fromHTTPRequest" do
2017-09-26 06:08:07 +00:00
Spec.it "contains the correct method" do
mock <- mockRequest
mock.method ?= Method.Post
Spec.it "contains the correct path" do
mock <- mockRequest
mock.path ?= [ "test" ]
Spec.it "contains the correct query" do
mock <- mockRequest
mock.query ?= StrMap.singleton "a" "b"
2017-09-26 06:08:07 +00:00
Spec.it "contains the correct headers" do
mock <- mockRequest
mock.headers ?= Headers.headers mockHeaders
Spec.it "contains the correct body" do
mock <- mockRequest
mock.body ?= "body"
2017-07-18 01:51:43 +00:00
where
2017-09-26 06:08:07 +00:00
mockHeaders = [ Tuple.Tuple "Test" "test" ]
mockHTTPRequest =
SpecHelpers.mockRequest "POST" "/test?a=b" "body" mockHeaders
mockRequest = mockHTTPRequest >>= Request.fromHTTPRequest
2017-07-10 10:17:13 +00:00
requestSpec :: SpecHelpers.Test
requestSpec = Spec.describe "Request" do
fromHTTPRequestSpec