Skip to content

Commit

Permalink
Implement assertCurrentUrlIsEmpty function to add assertion if the …
Browse files Browse the repository at this point in the history
…current page's URL is empty
  • Loading branch information
darmen committed Jan 5, 2024
1 parent 06a2346 commit 22ad58d
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package com.personio.synthetics.builder.browser

import com.datadog.api.client.v1.model.SyntheticsCheckType
import com.datadog.api.client.v1.model.SyntheticsStep
import com.datadog.api.client.v1.model.SyntheticsStepType
import com.personio.synthetics.builder.browser.step.ScrollBuilder
import com.personio.synthetics.model.Params
import com.personio.synthetics.model.actions.ActionsParams
import com.personio.synthetics.model.actions.SpecialActionsParams
import com.personio.synthetics.model.actions.WaitParams
import com.personio.synthetics.model.assertion.AssertionParams
import com.personio.synthetics.step.ui.model.TargetElement
import software.amazon.awssdk.services.secretsmanager.endpoints.internal.Value.Str
import kotlin.time.Duration

private const val DEFAULT_TEXT_DELAY_MILLIS: Long = 25
Expand Down Expand Up @@ -88,6 +91,16 @@ class StepsBuilder {
)
}

fun assertCurrentUrlIsEmpty(name: String) {
addStep(
name = name,
type = SyntheticsStepType.ASSERT_CURRENT_URL,
params = AssertionParams(
check = SyntheticsCheckType.IS_EMPTY
)
)
}

private fun addStep(name: String, type: SyntheticsStepType, params: Any) {
steps += SyntheticsStep()
.name(name)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package com.personio.synthetics.builder.browser

import com.datadog.api.client.v1.model.SyntheticsCheckType
import com.datadog.api.client.v1.model.SyntheticsStep
import com.datadog.api.client.v1.model.SyntheticsStepType
import com.personio.synthetics.builder.browser.step.ScrollBuilder
import com.personio.synthetics.model.actions.ActionsParams
import com.personio.synthetics.model.actions.SpecialActionsParams
import com.personio.synthetics.model.actions.WaitParams
import com.personio.synthetics.model.assertion.AssertionParams
import com.personio.synthetics.step.ui.model.TargetElement
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
Expand Down Expand Up @@ -142,6 +144,23 @@ class StepsBuilderTest {
)
}

@Test
fun `assertCurrentUrlIsEmpty adds assertion step with ASSERT_CURRENT_URL type and IS_EMPTY check`() {
val sut = StepsBuilder()
sut.assertCurrentUrlIsEmpty("any_name")

val result = sut.build()

assertEquals(1, result.count())
assertEquals(
SyntheticsStep()
.name("any_name")
.type(SyntheticsStepType.ASSERT_CURRENT_URL)
.params(AssertionParams(check = SyntheticsCheckType.IS_EMPTY)),
result.first()
)
}

private fun makeScrollBuilderMock(coordinates: Pair<Int, Int>): ScrollBuilder {
val mock = Mockito.mock(ScrollBuilder::class.java)
whenever(mock.build()).thenReturn(coordinates)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ class E2EBrowserTest {
wait("Wait", 3.seconds)
refresh("Refresh")
goto("Go to URL", "https://synthetic-test.personio.de/test")

scroll("Scroll using coordinates") {
horizontal(10)
vertical(20)
}
assertCurrentUrlIsEmpty("Check: current URL is empty")
}
}
}
Expand Down

0 comments on commit 22ad58d

Please sign in to comment.