Skip to content

Commit 687a4bd

Browse files
committed
test: pin the Playwright viewport to an explicit 1280x720
1 parent 80a7a2b commit 687a4bd

1 file changed

Lines changed: 16 additions & 10 deletions

File tree

reference-app/src/test/java/com/ardetrick/oryhydrareference/OryHydraReferenceApplicationFunctionalTests.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ void stopTestEnvironment() {
123123
oryHydraContainer.stop();
124124
}
125125

126+
// Every screenshot these tests capture is destined for the docs, so the viewport is pinned
127+
// rather than left at Playwright's default — a Playwright upgrade must not resize the images.
128+
private Page newPage() {
129+
return browser.newPage(new Browser.NewPageOptions().setViewportSize(1280, 720));
130+
}
131+
126132
@BeforeEach
127133
public void registerTestClient() {
128134
// A unique client per test keeps tests isolated on the shared container: Hydra remembers
@@ -164,7 +170,7 @@ public void loginInvalidCredentials() {
164170
val screenshotPathProducer =
165171
ScreenshotPathProducer.builder().testName("loginInvalidCredentials").build();
166172

167-
val page = browser.newPage();
173+
val page = newPage();
168174
val initiateFlowUri = getUriToInitiateFlow();
169175

170176
page.navigate(initiateFlowUri.toString());
@@ -200,7 +206,7 @@ public void completeFullOAuthFlowUsingUIToLogin() {
200206
val screenshotPathProducer =
201207
ScreenshotPathProducer.builder().testName("completeFullOAuthFlowUsingUIToLogin").build();
202208

203-
val page = browser.newPage();
209+
val page = newPage();
204210

205211
val uri = getUriToInitiateFlow();
206212

@@ -240,7 +246,7 @@ public void completeFlowWithPartialScopeSelection() {
240246
val screenshotPathProducer =
241247
ScreenshotPathProducer.builder().testName("completeFlowWithPartialScopeSelection").build();
242248

243-
val page = browser.newPage();
249+
val page = newPage();
244250

245251
val uri = getUriToInitiateFlow();
246252

@@ -327,7 +333,7 @@ public void skipConsentScreenOnSecondLoginWhenRememberMeIsUsed() {
327333
ScreenshotPathProducer.builder()
328334
.testName("skipConsentScreenOnSecondLoginWhenRememberMeIsUsed")
329335
.build();
330-
val page = browser.newPage();
336+
val page = newPage();
331337

332338
val uri = getUriToInitiateFlow();
333339

@@ -390,7 +396,7 @@ public void doNotSkipConsentScreenOnSecondLoginWhenRememberMeIsFalse() {
390396
.testName("doNotSkipConsentScreenOnSecondLoginWhenRememberMeIsFalse")
391397
.build();
392398

393-
val page = browser.newPage();
399+
val page = newPage();
394400

395401
val uri = getUriToInitiateFlow();
396402

@@ -443,7 +449,7 @@ public void denyConsentRedirectsToClientWithAccessDeniedError() {
443449
.testName("denyConsentRedirectsToClientWithAccessDeniedError")
444450
.build();
445451

446-
val page = browser.newPage();
452+
val page = newPage();
447453

448454
page.navigate(getUriToInitiateFlow().toString());
449455
page.screenshot(screenshotPathProducer.screenshotOptionsForStepName("initial-load"));
@@ -476,7 +482,7 @@ public void skipLoginScreenOnSecondFlowWhenLoginRememberMeIsUsed() {
476482
.testName("skipLoginScreenOnSecondFlowWhenLoginRememberMeIsUsed")
477483
.build();
478484

479-
val page = browser.newPage();
485+
val page = newPage();
480486

481487
page.navigate(getUriToInitiateFlow().toString());
482488
page.screenshot(screenshotPathProducer.screenshotOptionsForStepName("initial-load"));
@@ -520,7 +526,7 @@ public void logoutEndsTheRememberedLoginSession() {
520526
val screenshotPathProducer =
521527
ScreenshotPathProducer.builder().testName("logoutEndsTheRememberedLoginSession").build();
522528

523-
val page = browser.newPage();
529+
val page = newPage();
524530

525531
// First flow: log in with remember-me so a durable login session exists.
526532
completeFullFlowWithLoginRemember(page, screenshotPathProducer);
@@ -555,7 +561,7 @@ public void cancellingLogoutKeepsTheSessionAlive() {
555561
val screenshotPathProducer =
556562
ScreenshotPathProducer.builder().testName("cancellingLogoutKeepsTheSessionAlive").build();
557563

558-
val page = browser.newPage();
564+
val page = newPage();
559565

560566
completeFullFlowWithLoginRemember(page, screenshotPathProducer);
561567

@@ -595,7 +601,7 @@ public void quickStartFromLandingPageExchangesTokensInBrowser() {
595601
.responseTypes("code", "id_token")
596602
.scope("offline_access", "openid", "offline", "profile"));
597603

598-
val page = browser.newPage();
604+
val page = newPage();
599605

600606
page.navigate("http://localhost:" + springBootAppPort + "/");
601607
page.screenshot(screenshotPathProducer.screenshotOptionsForStepName("landing-page"));

0 commit comments

Comments
 (0)