packages feed

sydtest-webdriver-yesod 0.0.0.1 → 0.0.1.0

raw patch · 2 files changed

+25/−10 lines, 2 filesdep +wai

Dependencies added: wai

Files

src/Test/Syd/Webdriver/Yesod.hs view
@@ -16,6 +16,7 @@ module Test.Syd.Webdriver.Yesod   ( -- * Defining webdriver tests with yesod     webdriverYesodSpec,+    webdriverYesodSpecWithMiddlewares,      -- * Implementing webdriver tests with yesod     openRoute,@@ -41,6 +42,7 @@ import Network.HTTP.Client as HTTP import qualified Network.HTTP.Types as HTTP import Network.URI+import Network.Wai (Middleware) import Test.Syd import Test.Syd.Wai import Test.Syd.Webdriver@@ -50,7 +52,7 @@  -- | Run webdriver tests given a 'SetupFunc' for your app. webdriverYesodSpec ::-  Yesod.YesodDispatch app =>+  (Yesod.YesodDispatch app) =>   (HTTP.Manager -> SetupFunc app) ->   WebdriverSpec app ->   Spec@@ -59,16 +61,28 @@   YesodClient {..} <- yesodClientSetupFunc man site   pure (yesodClientSiteURI, yesodClientSite) +-- | Run webdriver tests given a 'SetupFunc' for your app.+webdriverYesodSpecWithMiddlewares ::+  (Yesod.YesodDispatch app) =>+  (HTTP.Manager -> SetupFunc app) ->+  [Middleware] ->+  WebdriverSpec app ->+  Spec+webdriverYesodSpecWithMiddlewares appSetupFunc middlewares = webdriverSpec $ \man -> do+  site <- appSetupFunc man+  YesodClient {..} <- yesodClientSetupFuncWithMiddlewares middlewares man site+  pure (yesodClientSiteURI, yesodClientSite)+ -- | Open a given yesod 'Route' openRoute ::-  Yesod.RenderRoute app =>+  (Yesod.RenderRoute app) =>   Route app ->   WebdriverTestM app () openRoute route = openRouteWithParams route []  -- | Open a given yesod 'Route' with parameters openRouteWithParams ::-  Yesod.RenderRoute app =>+  (Yesod.RenderRoute app) =>   Route app ->   [(Text, Text)] ->   WebdriverTestM app ()@@ -92,7 +106,7 @@  -- | Get the current 'Route' getCurrentRoute ::-  Yesod.ParseRoute app =>+  (Yesod.ParseRoute app) =>   WebdriverTestM app (Route app) getCurrentRoute = do   currentUrl <- getCurrentURL@@ -126,21 +140,21 @@ -- | Get the link text for a given I18N message. -- -- This will only work if the language hasn't been set.-getLinkTextI :: Yesod.RenderMessage app message => message -> WebdriverTestM app Text+getLinkTextI :: (Yesod.RenderMessage app message) => message -> WebdriverTestM app Text getLinkTextI message = do   y <- asks webdriverTestEnvApp   pure $ Yesod.renderMessage y [] message  -- | Find an 'Element', 'ByLinkText' the text obtained by 'getLinkTextI'-findElemByLinkTextI :: Yesod.RenderMessage app message => message -> WebdriverTestM app Element+findElemByLinkTextI :: (Yesod.RenderMessage app message) => message -> WebdriverTestM app Element findElemByLinkTextI message = getLinkTextI message >>= findElem . ByLinkText  -- | Find an 'Element', 'ByPartialLinkText' the text obtained by 'getLinkTextI'-findElemByPartialLinkTextI :: Yesod.RenderMessage app message => message -> WebdriverTestM app Element+findElemByPartialLinkTextI :: (Yesod.RenderMessage app message) => message -> WebdriverTestM app Element findElemByPartialLinkTextI message = getLinkTextI message >>= findElem . ByPartialLinkText  -- | Find an 'Element', 'ByLinkText' the text obtained by 'getLinkTextI'-findElemByButtonTextI :: Yesod.RenderMessage app message => message -> WebdriverTestM app Element+findElemByButtonTextI :: (Yesod.RenderMessage app message) => message -> WebdriverTestM app Element findElemByButtonTextI message = do   t <- getLinkTextI message   findElem $ ByXPath $ mconcat ["//button[normalize-space()=\"", t, "\"]"]
sydtest-webdriver-yesod.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.7.+-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack  name:           sydtest-webdriver-yesod-version:        0.0.0.1+version:        0.0.1.0 synopsis:       A webdriver+yesod companion library for sydtest category:       Testing author:         Tom Sydney Kerckhove@@ -36,6 +36,7 @@     , sydtest-webdriver     , sydtest-yesod     , text+    , wai     , webdriver     , yesod   default-language: Haskell2010