attempt to fix test
This commit is contained in:
parent
16526b0c07
commit
0ed279ad2a
|
@ -122,7 +122,7 @@ describe('After user signup', () => {
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||||
|
|
||||||
cy.wait('@signin');
|
cy.wait('@signin');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('suspend', function() {
|
it('suspend', function() {
|
||||||
cy.request('POST', '/api/admin/suspend-user', {
|
cy.request('POST', '/api/admin/suspend-user', {
|
||||||
|
@ -166,29 +166,38 @@ describe('After user signed in', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('account setup wizard', () => {
|
it('account setup wizard', () => {
|
||||||
|
cy.visit('/onboarding');
|
||||||
|
|
||||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
||||||
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).click();
|
cy.get('[data-cy-user-setup-continue]', { timeout: 60000 }).click();
|
||||||
|
|
||||||
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
|
|
||||||
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
|
|
||||||
// TODO: アイコン設定テスト
|
|
||||||
|
|
||||||
|
// 1 - ノートについて
|
||||||
cy.get('[data-cy-user-setup-continue]').click();
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
// プライバシー設定
|
// 2 - リアクションのやりかた(インタラクティブ要素はテストしない)
|
||||||
|
|
||||||
cy.get('[data-cy-user-setup-continue]').click();
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
// フォローはスキップ
|
// 3 - タイムラインの仕組み
|
||||||
|
|
||||||
cy.get('[data-cy-user-setup-continue]').click();
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
// プッシュ通知設定はスキップ
|
// 4 - オススメユーザーのフォロー
|
||||||
|
|
||||||
cy.get('[data-cy-user-setup-continue]').click();
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// 5 - 投稿画面
|
||||||
cy.get('[data-cy-user-setup-continue]').click();
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
});
|
|
||||||
|
// 6 - センシティブの設定方法(インタラクティブ要素はテストしない)
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// 7 - プッシュ通知
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// 8 - プライバシー設定
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// 9 -完了画面(トップページに遷移する)
|
||||||
|
cy.get('[data-cy-user-setup-complete]').click();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('After user setup', () => {
|
describe('After user setup', () => {
|
||||||
|
@ -202,11 +211,6 @@ describe('After user setup', () => {
|
||||||
cy.registerUser('alice', 'alice1234');
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
cy.login('alice', 'alice1234');
|
cy.login('alice', 'alice1234');
|
||||||
|
|
||||||
// アカウント初期設定ウィザード
|
|
||||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
|
||||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
|
|
||||||
cy.get('[data-cy-modal-dialog-ok]').click();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
|
|
@ -25,8 +25,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
|
<i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
|
||||||
<div style="font-size: 120%;">{{ i18n.ts._initialTutorial._landing.title }}</div>
|
<div style="font-size: 120%;">{{ i18n.ts._initialTutorial._landing.title }}</div>
|
||||||
<div>{{ i18n.ts._initialTutorial._landing.description }}</div>
|
<div>{{ i18n.ts._initialTutorial._landing.description }}</div>
|
||||||
<MkButton primary rounded gradate style="margin: 16px auto 0 auto;" @click="next">{{ i18n.ts._initialTutorial.launchTutorial }} <i class="ti ti-arrow-right"></i></MkButton>
|
<MkButton primary rounded gradate style="margin: 16px auto 0 auto;" data-cy-user-setup-continue @click="next">{{ i18n.ts._initialTutorial.launchTutorial }} <i class="ti ti-arrow-right"></i></MkButton>
|
||||||
<MkButton v-if="skippable" style="margin: 0 auto;" transparent rounded @click="emit('close', true)">{{ i18n.ts.close }}</MkButton>
|
<MkButton v-if="skippable" style="margin: 0 auto;" transparent rounded data-cy-user-setup-close @click="emit('close', true)">{{ i18n.ts.close }}</MkButton>
|
||||||
</div>
|
</div>
|
||||||
</MkSpacer>
|
</MkSpacer>
|
||||||
</div>
|
</div>
|
||||||
|
@ -125,7 +125,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<div :class="[$style.pageFooter, { [$style.pageFooterShown]: (page > 0 && page < MAX_PAGE) }]">
|
<div :class="[$style.pageFooter, { [$style.pageFooterShown]: (page > 0 && page < MAX_PAGE) }]">
|
||||||
<div class="_buttonsCenter">
|
<div class="_buttonsCenter">
|
||||||
<MkButton v-if="initialPage !== page" rounded @click="prev"><i class="ti ti-arrow-left"></i> {{ i18n.ts.goBack }}</MkButton>
|
<MkButton v-if="initialPage !== page" rounded @click="prev"><i class="ti ti-arrow-left"></i> {{ i18n.ts.goBack }}</MkButton>
|
||||||
<MkButton primary rounded gradate :disabled="!canContinue" @click="next">{{ i18n.ts.continue }} <i class="ti ti-arrow-right"></i></MkButton>
|
<MkButton primary rounded gradate :disabled="!canContinue" data-cy-user-setup-continue @click="next">{{ i18n.ts.continue }} <i class="ti ti-arrow-right"></i></MkButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -166,6 +166,9 @@ const emit = defineEmits<{
|
||||||
(ev: 'close', withConfirm?: boolean): void;
|
(ev: 'close', withConfirm?: boolean): void;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
// テストの場合は全インタラクションをスキップする
|
||||||
|
const isTest = (import.meta.env.MODE === 'test');
|
||||||
|
|
||||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||||
const page = ref(props.initialPage ?? 0);
|
const page = ref(props.initialPage ?? 0);
|
||||||
|
|
||||||
|
@ -175,8 +178,8 @@ watch(page, (to) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const isReactionTutorialPushed = ref<boolean>(false);
|
const isReactionTutorialPushed = ref<boolean>(isTest);
|
||||||
const isSensitiveTutorialSucceeded = ref<boolean>(false);
|
const isSensitiveTutorialSucceeded = ref<boolean>(isTest);
|
||||||
|
|
||||||
const canContinue = computed(() => {
|
const canContinue = computed(() => {
|
||||||
if (page.value === 2) {
|
if (page.value === 2) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<span v-else>{{ i18n.ts._initialTutorial.title }}</span>
|
<span v-else>{{ i18n.ts._initialTutorial.title }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="instance.canSkipInitialTutorial" :class="$style.closeButton">
|
<div v-if="instance.canSkipInitialTutorial" :class="$style.closeButton">
|
||||||
<button class="_button" @click="cancel"><i class="ti ti-x"></i></button>
|
<button class="_button" data-cy-user-setup-close @click="cancel"><i class="ti ti-x"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MkTutorial
|
<MkTutorial
|
||||||
|
@ -54,8 +54,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<div>{{ i18n.tsx._initialTutorial._onboardingLanding.welcomeToX({ name: instance.name ?? host }) }}</div>
|
<div>{{ i18n.tsx._initialTutorial._onboardingLanding.welcomeToX({ name: instance.name ?? host }) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div>{{ i18n.tsx._initialTutorial._onboardingLanding.description({ name: instance.name ?? host }) }}</div>
|
<div>{{ i18n.tsx._initialTutorial._onboardingLanding.description({ name: instance.name ?? host }) }}</div>
|
||||||
<MkButton large primary rounded gradate style="margin: 16px auto 0;" @click="next">{{ i18n.ts.start }} <i class="ti ti-arrow-right"></i></MkButton>
|
<MkButton large primary rounded gradate style="margin: 16px auto 0;" data-cy-user-setup-continue @click="next">{{ i18n.ts.start }} <i class="ti ti-arrow-right"></i></MkButton>
|
||||||
<MkButton v-if="instance.canSkipInitialTutorial" transparent rounded style="margin: 0 auto;" @click="cancel">{{ i18n.ts.later }}</MkButton>
|
<MkButton v-if="instance.canSkipInitialTutorial" transparent rounded style="margin: 0 auto;" data-cy-user-setup-close @click="cancel">{{ i18n.ts.later }}</MkButton>
|
||||||
<MkInfo style="width: fit-content; margin: 0 auto; text-align: start; white-space: pre-wrap;">{{ i18n.tsx._initialTutorial._onboardingLanding.takesAbout({ min: 3 }) }}</MkInfo>
|
<MkInfo style="width: fit-content; margin: 0 auto; text-align: start; white-space: pre-wrap;">{{ i18n.tsx._initialTutorial._onboardingLanding.takesAbout({ min: 3 }) }}</MkInfo>
|
||||||
</div>
|
</div>
|
||||||
</MkSpacer>
|
</MkSpacer>
|
||||||
|
@ -98,7 +98,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
{{ i18n.ts.explore }}
|
{{ i18n.ts.explore }}
|
||||||
<template #caption>{{ i18n.ts._initialTutorial._onboardingDone.exploreDescription }}</template>
|
<template #caption>{{ i18n.ts._initialTutorial._onboardingDone.exploreDescription }}</template>
|
||||||
</FormLink>
|
</FormLink>
|
||||||
<FormLink to="/" large :behavior="'browser'">
|
<FormLink to="/" large :behavior="'browser'" data-cy-user-setup-complete>
|
||||||
<template #icon><i class="ti ti-home"></i></template>
|
<template #icon><i class="ti ti-home"></i></template>
|
||||||
{{ i18n.ts._initialTutorial._onboardingDone.goToTimeline }}
|
{{ i18n.ts._initialTutorial._onboardingDone.goToTimeline }}
|
||||||
<template #caption>{{ i18n.ts._initialTutorial._onboardingDone.goToTimelineDescription }}</template>
|
<template #caption>{{ i18n.ts._initialTutorial._onboardingDone.goToTimelineDescription }}</template>
|
||||||
|
|
Loading…
Reference in New Issue