Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcf2d2a9

Browse files
authored
test(site): add e2e tests for appearance (#12950)
1 parentb71af32 commitcf2d2a9

File tree

3 files changed

+93
-1
lines changed

3 files changed

+93
-1
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import{chromium,expect,test}from"@playwright/test";
2+
import{expectUrl}from"../../expectUrl";
3+
import{randomName,requiresEnterpriseLicense}from"../../helpers";
4+
5+
test("set application name",async({ page})=>{
6+
requiresEnterpriseLicense();
7+
8+
awaitpage.goto("/deployment/appearance",{waitUntil:"domcontentloaded"});
9+
10+
constapplicationName=randomName();
11+
12+
// Fill out the form
13+
constform=page.locator("form",{hasText:"Application name"});
14+
awaitform
15+
.getByLabel("Application name",{exact:true})
16+
.fill(applicationName);
17+
awaitform.getByRole("button",{name:"Submit"}).click();
18+
19+
// Open a new session without cookies to see the login page
20+
constbrowser=awaitchromium.launch();
21+
constincognitoContext=awaitbrowser.newContext();
22+
awaitincognitoContext.clearCookies();
23+
constincognitoPage=awaitincognitoContext.newPage();
24+
awaitincognitoPage.goto("/",{waitUntil:"domcontentloaded"});
25+
26+
// Verify the application name
27+
constname=incognitoPage.locator("h1",{hasText:applicationName});
28+
awaitexpect(name).toBeVisible();
29+
30+
// Shut down browser
31+
awaitincognitoPage.close();
32+
awaitbrowser.close();
33+
});
34+
35+
test("set application logo",async({ page})=>{
36+
requiresEnterpriseLicense();
37+
38+
awaitpage.goto("/deployment/appearance",{waitUntil:"domcontentloaded"});
39+
40+
constimageLink="/icon/azure.png";
41+
42+
// Fill out the form
43+
constform=page.locator("form",{hasText:"Logo URL"});
44+
awaitform.getByLabel("Logo URL",{exact:true}).fill(imageLink);
45+
awaitform.getByRole("button",{name:"Submit"}).click();
46+
47+
// Open a new session without cookies to see the login page
48+
constbrowser=awaitchromium.launch();
49+
constincognitoContext=awaitbrowser.newContext();
50+
awaitincognitoContext.clearCookies();
51+
constincognitoPage=awaitincognitoContext.newPage();
52+
awaitincognitoPage.goto("/",{waitUntil:"domcontentloaded"});
53+
54+
// Verify banner
55+
constlogo=incognitoPage.locator("img");
56+
awaitexpect(logo).toHaveAttribute("src",imageLink);
57+
58+
// Shut down browser
59+
awaitincognitoPage.close();
60+
awaitbrowser.close();
61+
});
62+
63+
test("set service banner",async({ page})=>{
64+
requiresEnterpriseLicense();
65+
66+
awaitpage.goto("/deployment/appearance",{waitUntil:"domcontentloaded"});
67+
68+
constmessage="Mary has a little lamb.";
69+
70+
// Fill out the form
71+
constform=page.locator("form",{hasText:"Service Banner"});
72+
awaitform.getByLabel("Enabled",{exact:true}).check();
73+
awaitform.getByLabel("Message",{exact:true}).fill(message);
74+
awaitform.getByRole("button",{name:"Submit"}).click();
75+
76+
// Verify service banner
77+
awaitpage.goto("/workspaces",{waitUntil:"domcontentloaded"});
78+
awaitexpectUrl(page).toHavePathName("/workspaces");
79+
80+
constbar=page.locator("div.service-banner",{hasText:message});
81+
awaitexpect(bar).toBeVisible();
82+
});

‎site/src/modules/dashboard/ServiceBanner/ServiceBannerView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const ServiceBannerView: FC<ServiceBannerViewProps> = ({
1616
isPreview,
1717
})=>{
1818
return(
19-
<divcss={[styles.banner,{ backgroundColor}]}>
19+
<divcss={[styles.banner,{ backgroundColor}]}className="service-banner">
2020
{isPreview&&<Pilltype="info">Preview</Pill>}
2121
<div
2222
css={[

‎site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ export const AppearanceSettingsPageView: FC<
105105
fullWidth
106106
placeholder='Leave empty to display "Coder".'
107107
disabled={!isEntitled}
108+
inputProps={{
109+
"aria-label":"Application name",
110+
}}
108111
/>
109112
</Fieldset>
110113

@@ -150,6 +153,9 @@ export const AppearanceSettingsPageView: FC<
150153
</InputAdornment>
151154
),
152155
}}
156+
inputProps={{
157+
"aria-label":"Logo URL",
158+
}}
153159
/>
154160
</Fieldset>
155161

@@ -208,6 +214,7 @@ export const AppearanceSettingsPageView: FC<
208214
);
209215
awaitserviceBannerForm.setFieldValue("enabled",newState);
210216
}}
217+
data-testid="switch-service-banner"
211218
/>
212219
}
213220
label="Enabled"
@@ -221,6 +228,9 @@ export const AppearanceSettingsPageView: FC<
221228
fullWidth
222229
label="Message"
223230
multiline
231+
inputProps={{
232+
"aria-label":"Message",
233+
}}
224234
/>
225235
</Stack>
226236

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp