diff --git a/web/cypress/e2e/home.cy.js b/web/cypress/e2e/home.cy.js
index 50d6ec9b..cb4bed86 100644
--- a/web/cypress/e2e/home.cy.js
+++ b/web/cypress/e2e/home.cy.js
@@ -1,5 +1,17 @@
+// TODO: move that to somewhere
+Cypress.Commands.add('getByLabel', (label) => {
+ // you can disable individual command logging
+ // by passing {log: false} option
+ cy.contains('label', label)
+ .invoke('attr', 'for')
+ .then((id) => {
+ cy.get('#' + id)
+ })
+})
+
describe('Visits the home page', () => {
- before(() => {
+
+ beforeEach(() => {
cy.visit('/');
});
@@ -7,29 +19,36 @@ describe('Visits the home page', () => {
cy.get("h1").contains("SpeakHer");
})
- it.skip('Navigates to nominate form', () => {
- // TODO
+ it('Navigates to nominate form', () => {
+ cy.get("#home-nominate").contains("Nominate a speaker").click();
+ cy.get("h1").contains("Nominate a speaker")
})
- it.skip('Searches for a speaker by tag', () => {
- // TODO
+ it('Searches for a speaker by tag', () => {
+ cy.getByLabel("Topic").should('have.value', '').type("AI");
+ cy.getByLabel("Topic").should('have.value', 'AI');
+ cy.get("#speaker-list").contains('AI');
})
- it.skip('Searches for a speaker by prefecture', () => {
- // TODO
+ it('Searches for a speaker by prefecture', () => {
+ cy.getByLabel("Prefecture").should('have.value', '').type("Tokyo / 東京都");
+ cy.getByLabel("Prefecture").should('have.value', 'Tokyo / 東京都');
+ cy.get("#speaker-list").contains('Tokyo / 東京都');
})
- it.skip('Expands information panel for speaker', () => {
- // TODO
+ it('Expands information panel for speaker', () => {
+ cy.get("#speaker-list .v-expansion-panels button").first().click();
+ cy.get("#speaker-list .v-expansion-panels button.v-expansion-panel-header--active").should('have.length', 1);
})
- it.skip('Switches from English to Japanese with the locale selector', ()=> {
+ it('Switches from English to Japanese with the locale selector', ()=> {
// TODO
- // Confirm that site header is in japanese
- // Confirm that speaker name switches from english to japanese
+ cy.get('header button#desktop-toolbar-language-switcher').contains('日本語').click();
+ cy.get('h2').contains('日本にいる女性スピーカーを探すデータベース');
+ cy.get('header button#desktop-toolbar-language-switcher').contains('English');
})
- it.skip('Displays the footer', () => {
-
+ it('Displays the footer', () => {
+ cy.get('footer').contains('SpeakHer Japan 2022')
})
-})
\ No newline at end of file
+})
diff --git a/web/src/components/Toolbar.vue b/web/src/components/Toolbar.vue
index 89e6de0c..91bdc4ea 100644
--- a/web/src/components/Toolbar.vue
+++ b/web/src/components/Toolbar.vue
@@ -38,7 +38,7 @@
inset
vertical
/>
-
+
{{ $t('nav.nominateSpeaker') }}
diff --git a/web/src/views/FindSpeaker.vue b/web/src/views/FindSpeaker.vue
index 41d7f28c..be6e7844 100644
--- a/web/src/views/FindSpeaker.vue
+++ b/web/src/views/FindSpeaker.vue
@@ -38,6 +38,7 @@
/>