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