packages feed

sydtest-webdriver-screenshot-0.0.0.0: test/Test/Syd/Webdriver/ScreenshotSpec.hs

module Test.Syd.Webdriver.ScreenshotSpec (spec) where

import Network.URI
import Test.Syd
import Test.Syd.Wai
import Test.Syd.Webdriver
import Test.Syd.Webdriver.Screenshot
import Test.Syd.Webdriver.Screenshot.App

spec :: Spec
spec = exampleAppSpec $ do
  it "can make a screenshot of home" $ do
    openPath "/"
    goldenScreenshotHere "test_resources/home.png"

exampleAppSpec :: WebdriverSpec () -> Spec
exampleAppSpec = webdriverSpec $ \_ -> do
  portNumber <- applicationSetupFunc exampleApplication
  let uriStr = "http://127.0.0.1:" <> show portNumber
  case parseURI uriStr of
    Nothing -> liftIO $ expectationFailure $ "Failed to parse uri as string: " <> show uriStr
    Just uri -> pure (uri, ())