webdriver-0.13.0.0: tests/Spec/Sessions.hs
module Spec.Sessions where
import Data.String.Interpolate
import Test.Sandwich
import Test.WebDriver.Commands
import TestLib.Contexts.Session
import TestLib.Contexts.StaticServer
import TestLib.Types
tests :: SessionSpec
tests = introduceSession $ describe "Sessions" $ before "Open test page" openSimpleTestPage $ do
-- createSession is already tested in introduceSession
it "status" $ do
status <- serverStatus
info [i|Got status: #{status}|]
-- TODO: test closeSession without breaking the context
it "closeSession" $ do
pending
describe "Timeouts" $ do
describe "Bulk timeout functions" $ do
it "getTimeouts" $ do
timeouts <- getTimeouts
info [i|Got timeouts: #{timeouts}|]
it "setTimeouts" $ do
let timeouts = Timeouts {
timeoutsScript = Just 1
, timeoutsPageLoad = Just 2
, timeoutsImplicit = Just 3
}
setTimeouts timeouts
getTimeouts >>= (`shouldBe` timeouts)
describe "Individual timeout functions" $ do
it "setScriptTimeout" $ do
setScriptTimeout (Just 11)
getTimeouts >>= (`shouldBe` (Timeouts (Just 11) (Just 2) (Just 3)))
setScriptTimeout Nothing
getTimeouts >>= (`shouldBe` (Timeouts Nothing (Just 2) (Just 3)))
it "setPageLoadTimeout" $ do
setPageLoadTimeout 12
getTimeouts >>= (`shouldBe` (Timeouts Nothing (Just 12) (Just 3)))
it "setImplicitWait" $ do
setImplicitWait 13
getTimeouts >>= (`shouldBe` (Timeouts Nothing (Just 12) (Just 13)))
-- it "sessions" $ do
-- xs <- sessions
-- info [i|Got sessions: #{xs}|]
-- it "getActualCaps" $ do
-- caps <- getActualCaps
-- info [i|Got actual caps: #{caps}|]