packages feed

sydtest-webdriver-yesod 0.0.0.0 → 0.0.0.1

raw patch · 2 files changed

+40/−4 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Test.Syd.Webdriver.Yesod: currentRouteShouldBe :: (Show (Route app), ParseRoute app) => Route app -> WebdriverTestM app ()
+ Test.Syd.Webdriver.Yesod: findElemByButtonTextI :: RenderMessage app message => message -> WebdriverTestM app Element
+ Test.Syd.Webdriver.Yesod: findElemByLinkTextI :: RenderMessage app message => message -> WebdriverTestM app Element
+ Test.Syd.Webdriver.Yesod: findElemByPartialLinkTextI :: RenderMessage app message => message -> WebdriverTestM app Element
+ Test.Syd.Webdriver.Yesod: getLinkTextI :: RenderMessage app message => message -> WebdriverTestM app Text

Files

src/Test/Syd/Webdriver/Yesod.hs view
@@ -21,6 +21,13 @@     openRoute,     openRouteWithParams,     getCurrentRoute,+    currentRouteShouldBe,++    -- ** Finding elements by I18N Messages+    getLinkTextI,+    findElemByLinkTextI,+    findElemByPartialLinkTextI,+    findElemByButtonTextI,   ) where @@ -106,3 +113,34 @@   where     unJust (a, Just b) = (a, b)     unJust (a, Nothing) = (a, "")++-- | Get the current 'Route' and check that it equals the given route+currentRouteShouldBe ::+  (Show (Route app), Yesod.ParseRoute app) =>+  Route app ->+  WebdriverTestM app ()+currentRouteShouldBe expected = do+  actual <- getCurrentRoute+  liftIO $ actual `shouldBe` expected++-- | 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 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 message = getLinkTextI message >>= findElem . ByLinkText++-- | Find an 'Element', 'ByPartialLinkText' the text obtained by 'getLinkTextI'+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 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.6.+-- This file has been generated from package.yaml by hpack version 0.34.7. -- -- see: https://github.com/sol/hpack  name:           sydtest-webdriver-yesod-version:        0.0.0.0+version:        0.0.0.1 synopsis:       A webdriver+yesod companion library for sydtest category:       Testing author:         Tom Sydney Kerckhove@@ -31,8 +31,6 @@     , http-types     , mtl     , network-uri-    , path-    , path-io     , sydtest     , sydtest-wai     , sydtest-webdriver