module Test.WebDriver.Commands.UserPrompts (
dismissAlert
, acceptAlert
, getAlertText
, replyToAlert
) where
import Data.Aeson as A
import Data.Text (Text)
import GHC.Stack
import Test.WebDriver.JSON
import Test.WebDriver.Types
import Test.WebDriver.Util.Commands
dismissAlert :: (HasCallStack, WebDriver wd) => wd ()
dismissAlert :: forall (wd :: * -> *). (HasCallStack, WebDriver wd) => wd ()
dismissAlert = wd NoReturn -> wd ()
forall (m :: * -> *). WebDriver m => m NoReturn -> m ()
noReturn (wd NoReturn -> wd ()) -> wd NoReturn -> wd ()
forall a b. (a -> b) -> a -> b
$ Method -> Text -> Value -> wd NoReturn
forall (wd :: * -> *) a b.
(HasCallStack, WebDriver wd, ToJSON a, FromJSON b) =>
Method -> Text -> a -> wd b
doSessCommand Method
methodPost Text
"/alert/dismiss" Value
noObject
acceptAlert :: (HasCallStack, WebDriver wd) => wd ()
acceptAlert :: forall (wd :: * -> *). (HasCallStack, WebDriver wd) => wd ()
acceptAlert = wd NoReturn -> wd ()
forall (m :: * -> *). WebDriver m => m NoReturn -> m ()
noReturn (wd NoReturn -> wd ()) -> wd NoReturn -> wd ()
forall a b. (a -> b) -> a -> b
$ Method -> Text -> Value -> wd NoReturn
forall (wd :: * -> *) a b.
(HasCallStack, WebDriver wd, ToJSON a, FromJSON b) =>
Method -> Text -> a -> wd b
doSessCommand Method
methodPost Text
"/alert/accept" Value
noObject
getAlertText :: (HasCallStack, WebDriver wd) => wd Text
getAlertText :: forall (wd :: * -> *). (HasCallStack, WebDriver wd) => wd Text
getAlertText = Method -> Text -> Value -> wd Text
forall (wd :: * -> *) a b.
(HasCallStack, WebDriver wd, ToJSON a, FromJSON b) =>
Method -> Text -> a -> wd b
doSessCommand Method
methodGet Text
"/alert/text" Value
Null
replyToAlert :: (HasCallStack, WebDriver wd) => Text -> wd ()
replyToAlert :: forall (wd :: * -> *).
(HasCallStack, WebDriver wd) =>
Text -> wd ()
replyToAlert = wd NoReturn -> wd ()
forall (m :: * -> *). WebDriver m => m NoReturn -> m ()
noReturn (wd NoReturn -> wd ()) -> (Text -> wd NoReturn) -> Text -> wd ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Method -> Text -> Value -> wd NoReturn
forall (wd :: * -> *) a b.
(HasCallStack, WebDriver wd, ToJSON a, FromJSON b) =>
Method -> Text -> a -> wd b
doSessCommand Method
methodPost Text
"/alert/text" (Value -> wd NoReturn) -> (Text -> Value) -> Text -> wd NoReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> Text -> Value
forall a. ToJSON a => Text -> a -> Value
single Text
"text"