Skip to content

Commit 23d15f6

Browse files
committed
test: adjust to new disabled rules
1 parent 59828eb commit 23d15f6

2 files changed

Lines changed: 23 additions & 9 deletions

File tree

apps/meteor/tests/e2e/page-objects/fragments/modals/edit-status-modal.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,18 @@ export class EditStatusModal extends Modal {
4848
await this.page!.getByRole('option', { name: status }).click();
4949
}
5050

51+
async setStatusMessage(message: string): Promise<void> {
52+
await this.statusMessageInput.fill(message);
53+
}
54+
5155
async selectDuration(duration: string): Promise<void> {
5256
await this.durationSelect.click();
5357
await this.page!.getByRole('option', { name: new RegExp(duration) }).click();
5458
}
5559

5660
async changeStatusMessage(statusMessage?: string): Promise<void> {
5761
if (statusMessage !== undefined) {
58-
await this.statusMessageInput.fill(statusMessage);
62+
await this.setStatusMessage(statusMessage);
5963
}
6064
await this.save();
6165
await this.toastMessages.dismissToast();
@@ -78,7 +82,7 @@ export class EditStatusModal extends Modal {
7882
await this.selectStatusType(statusType);
7983
}
8084
if (message !== undefined) {
81-
await this.statusMessageInput.fill(message);
85+
await this.setStatusMessage(message);
8286
}
8387
await this.selectDuration(duration);
8488
if (customDate) {

apps/meteor/tests/e2e/presence.spec.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,16 @@ test.describe.serial('Presence', () => {
6666
});
6767

6868
test('should not save custom status as `undefined` if nothing changes', async ({ page }) => {
69-
await test.step('change to empty status', async () => {
70-
await poHomeChannel.navbar.changeUserCustomStatus();
71-
expect(await page.evaluate(() => localStorage.getItem('fuselage-localStorage-Local_Custom_Status'))).not.toBe('undefined');
69+
await poHomeChannel.navbar.openEditStatusModal();
70+
71+
const { editStatusModal } = poHomeChannel.navbar;
72+
73+
await test.step('Save stays disabled while the form is untouched', async () => {
74+
await expect(editStatusModal.btnSubmit).toBeDisabled();
7275
});
73-
await test.step('save without changes', async () => {
74-
await poHomeChannel.navbar.changeUserCustomStatus();
76+
77+
await test.step('closing without changes leaves stored status untouched', async () => {
78+
await editStatusModal.close();
7579
expect(await page.evaluate(() => localStorage.getItem('fuselage-localStorage-Local_Custom_Status'))).not.toBe('undefined');
7680
});
7781
});
@@ -107,6 +111,8 @@ test.describe.serial('Presence', () => {
107111

108112
const { editStatusModal } = poHomeChannel.navbar;
109113

114+
await editStatusModal.setStatusMessage('available');
115+
110116
await editStatusModal.selectDuration('Choose date and time');
111117
await expect(editStatusModal.customDateInput).toBeVisible();
112118
await expect(editStatusModal.customTimeInput).toBeVisible();
@@ -123,6 +129,8 @@ test.describe.serial('Presence', () => {
123129

124130
const { editStatusModal } = poHomeChannel.navbar;
125131

132+
await editStatusModal.setStatusMessage('available');
133+
126134
await editStatusModal.selectDuration('Choose date and time');
127135

128136
const today = new Date().toLocaleDateString('en-CA');
@@ -140,6 +148,8 @@ test.describe.serial('Presence', () => {
140148

141149
const { editStatusModal } = poHomeChannel.navbar;
142150

151+
await editStatusModal.setStatusMessage('available');
152+
143153
await editStatusModal.selectDuration('Choose date and time');
144154
await editStatusModal.customDateInput.fill('');
145155
await editStatusModal.btnSubmit.click();
@@ -171,7 +181,7 @@ test.describe.serial('Presence', () => {
171181
});
172182

173183
await test.step('clear status', async () => {
174-
await poHomeChannel.navbar.changeUserCustomStatus('');
184+
await poHomeChannel.navbar.changeUserStatus('online');
175185
});
176186
});
177187

@@ -192,7 +202,7 @@ test.describe.serial('Presence', () => {
192202
});
193203

194204
await test.step('clear status and verify expiration is removed', async () => {
195-
await poHomeChannel.navbar.changeUserCustomStatus('');
205+
await poHomeChannel.navbar.changeUserStatus('online');
196206

197207
await poHomeChannel.navbar.btnUserMenu.click();
198208
await expect(poHomeChannel.navbar.userMenu).not.toContainText('Until');

0 commit comments

Comments
 (0)