Assert
The Assert
module contains functions asserting properties of Elements
and other types.
Browser
urlShouldBe
Checks if the current URL in the Browser
is equal to expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
browser |> Assert.urlShouldBe! "https://roc-lang.org/"
titleShouldBe
Checks if the current page title in the Browser
is equal to expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
browser |> Assert.titleShouldBe! "https://roc-lang.org/"
Other types
shouldBe
Checks if the actual value is equal to the expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
# get button text
buttonText = button |> Element.getText!
# assert text
buttonText |> Assert.shouldBe! "Roc"
inputType = nameInput |> Element.getProperty! "checked"
when inputType is
Ok value -> value |> Assert.shouldBe Bool.false
Err Empty -> Assert.failWith "this should not happen"
# Result I32 [Empty]
inputType = nameInput |> Element.getProperty! "clientHeight"
inputType |> Assert.shouldBe (Ok 17)
shouldBeGreaterThan
Checks if the actual Num
is greater than the expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
10 |> Assert.shouldBeGreaterThan! 5
shouldBeGreaterOrEqualTo
Checks if the actual Num
is greater or equal to the expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
10 |> Assert.shouldBeGreaterOrEqualTo! 5
shouldBeLesserThan
Checks if the actual Num
is lesser than the expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
5 |> Assert.shouldBeLesserThan! 10
shouldBeLesserOrEqualTo
Checks if the actual Num
is lesser or equal to the expected.
In case of fail, this function throws a [AssertionError Str]
which will be used in the test report.
5 |> Assert.shouldBeLesserOrEqualTo! 10
failWith
Fails with given error message.
Assert.failWith! "this should not happen"
Can be useful when in cases like:
inputType = nameInput |> Element.getAttribute! "class"
when inputType is
Ok _ -> Assert.failWith "this input should not have a class"
Err Empty -> Task.ok {}