All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.pierrenodet.fs2.selenium.Alert.scala Maven / Gradle / Ivy

The newest version!
package com.github.pierrenodet.fs2.selenium

import cats.effect.Sync
import cats.implicits._
import org.openqa.selenium

trait Alert[F[_]] {

  def accept(): F[Unit]

  def dismiss(): F[Unit]

  def text: F[String]

  def sendKeys(keys: String): F[Unit]

}

object Alert {

  def apply[F[_]: Sync](alert: selenium.Alert): Alert[F] = impl.mkAlert(alert)

  object impl {

    def mkAlert[F[_]: Sync](alert: selenium.Alert): Alert[F] = new Alert[F] {

      override def accept(): F[Unit] = Sync[F].delay(alert.accept())

      override def dismiss(): F[Unit] = Sync[F].delay(alert.dismiss())

      override def text: F[String] = Sync[F].delay(alert.getText)

      override def sendKeys(keys: String): F[Unit] = Sync[F].delay(alert.sendKeys(keys))
    }

  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy