packages feed

mangopay-1.0: test/Web/MangoPay/DocumentsTest.hs

{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -F -pgmF htfpp #-}
-- | test documents
module Web.MangoPay.DocumentsTest where

import Web.MangoPay
import Web.MangoPay.TestUtils

import Test.Framework
import Test.HUnit (Assertion)
import Data.Maybe (isJust, fromJust)
import qualified Data.ByteString as BS

-- | test document API
test_Document :: Assertion
test_Document=do
  usL<-testMP $ listUsers (Just $ Pagination 1 1)
  assertEqual 1 (length $ plData usL)
  let uid=urId $ head $ plData usL
  let d=Document Nothing Nothing Nothing IDENTITY_PROOF (Just CREATED) Nothing Nothing
  d2<-testMP $ storeDocument uid d
  assertBool (isJust $ dId d2)
  assertBool (isJust $ dCreationDate d2)
  assertEqual IDENTITY_PROOF (dType d2)
  tf<-BS.readFile "data/test.jpg"
  -- document has to be in CREATED status
  testMP $ storePage uid (fromJust $ dId d2) tf
  d3<-testMP $ storeDocument uid d2{dStatus=Just VALIDATION_ASKED}
  assertEqual (Just VALIDATION_ASKED) (dStatus d3)
  assertEqual (dId d2) (dId d3)
  d4<-testMP $ fetchDocument uid (fromJust $ dId d2)
  assertEqual (Just VALIDATION_ASKED) (dStatus d4)