111 lines
3.4 KiB
JavaScript
111 lines
3.4 KiB
JavaScript
|
|
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("欢迎!");
|
|
});
|
|
});
|