This commit is contained in:
mochi33i 2025-05-04 12:57:42 +00:00 committed by GitHub
commit a388ddadcd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 110 additions and 0 deletions

110
cypress/e2e/language.cy.js Normal file
View File

@ -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("欢迎!");
});
});