test(e2e): ブラウザの言語設定によってmisskeyの表示する言語をを変更するテストを追加
This commit is contained in:
parent
18dbcfa0b0
commit
39c1c89253
|
@ -107,7 +107,6 @@ describe('After user signup', () => {
|
||||||
cy.get('[data-cy-signin-username] input').type('alice');
|
cy.get('[data-cy-signin-username] input').type('alice');
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||||
|
|
||||||
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
|
||||||
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
|
||||||
|
describe('Change the language to Japanese', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
cy.visit("/", {
|
||||||
|
onBeforeLoad(window) {
|
||||||
|
Object.defineProperty(window.navigator, 'language', { value: 'ja-JP' })
|
||||||
|
Object.defineProperty(window.navigator, 'languages', { value: ['ja'] })
|
||||||
|
Object.defineProperty(window.navigator, 'accept_languages', { value: ['ja'] })
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Accept-Language': 'ja'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('display language is english', () => {
|
||||||
|
cy.get('html').should('have.attr', 'lang', 'ja-JP');
|
||||||
|
cy.contains("ようこそ");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
describe('Change the language to English', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
cy.visit("/", {
|
||||||
|
onBeforeLoad(window) {
|
||||||
|
Object.defineProperty(window.navigator, 'language', { value: 'en-US' })
|
||||||
|
Object.defineProperty(window.navigator, 'languages', { value: ['en'] })
|
||||||
|
Object.defineProperty(window.navigator, 'accept_languages', { value: ['en'] })
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Accept-Language': 'en'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('display language is english', () => {
|
||||||
|
cy.get('html').should('have.attr', 'lang', 'en-US');
|
||||||
|
cy.contains("Welcome!");
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Change the language to Chinese', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
cy.visit("/", {
|
||||||
|
onBeforeLoad(window) {
|
||||||
|
Object.defineProperty(window.navigator, 'language', { value: 'zh' })
|
||||||
|
Object.defineProperty(window.navigator, 'languages', { value: ['zh'] })
|
||||||
|
Object.defineProperty(window.navigator, 'accept_languages', { value: ['zh'] })
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Accept-Language': 'zh'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('display language is english', () => {
|
||||||
|
cy.get('html').should('have.attr', 'lang', 'zh-CN');
|
||||||
|
cy.contains("欢迎!");
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue