diff --git a/client/cypress/fixtures/mocks.js b/client/cypress/fixtures/mocks.js index c1e3a6a3..7bcf564e 100644 --- a/client/cypress/fixtures/mocks.js +++ b/client/cypress/fixtures/mocks.js @@ -82,7 +82,7 @@ export default { }), ModuleNode: () => ({ title: 'Module Title', - slug: 'some slug', + slug: 'some-slug', metaTitle: 'Meta Title', heroImage: '', teaser: '', @@ -90,6 +90,7 @@ export default { assignments: [], objectiveGroups: [], id: getModuleId(), + bookmark: null }), TopicNode: () => ({ modules: [], diff --git a/client/cypress/integration/frontend/bookmarks.spec.js b/client/cypress/integration/frontend/bookmarks.spec.js index 9dcc3e54..b28e178e 100644 --- a/client/cypress/integration/frontend/bookmarks.spec.js +++ b/client/cypress/integration/frontend/bookmarks.spec.js @@ -15,6 +15,7 @@ describe('Bookmarks', () => { ModuleDetailsQuery: { module: { ...minimalModule, + slug: 'my-module-slug', chapters: [ { title: 'My super Chapter', @@ -41,6 +42,11 @@ describe('Bookmarks', () => { success: true } }, + UpdateModuleBookmark: { + updateModuleBookmark: { + success: true + } + }, UpdateChapterBookmark: { updateChapterBookmark: { success: true @@ -65,7 +71,29 @@ describe('Bookmarks', () => { }); it('should bookmark module', () => { - cy.visit(); + cy.visit('/module/lohn-und-budget/'); + cy.getByDataCy('module-bookmark-actions').as('moduleBookmark'); + + cy.get('@moduleBookmark').within(() => { + cy.getByDataCy('bookmark-action').click(); + cy.getByDataCy('add-note-action').click(); + }); + + cy.get('[data-cy=bookmark-note]').within(() => { + cy.get('.skillbox-input').type('Hallo Velo'); + }); + + cy.get('[data-cy=modal-save-button]').click(); + + cy.get('@moduleBookmark').within(() => { + cy.getByDataCy('edit-note-action').click(); + }); + + cy.get('[data-cy=bookmark-note]').within(() => { + cy.get('.skillbox-input').clear().type('Hello Bike'); + }); + + cy.get('[data-cy=modal-save-button]').click(); }); it('should bookmark chapter', () => { diff --git a/client/src/components/modules/Module.vue b/client/src/components/modules/Module.vue index 5c5c1098..1960a027 100644 --- a/client/src/components/modules/Module.vue +++ b/client/src/components/modules/Module.vue @@ -27,6 +27,7 @@ :bookmarked="module.bookmark" :note="note" class="module__bookmark-actions" + data-cy="module-bookmark-actions" @add-note="$emit('addNote')" @edit-note="$emit('editNote')" @bookmark="$emit('bookmark', !module.bookmark)" diff --git a/client/src/components/notes/BookmarkActions.vue b/client/src/components/notes/BookmarkActions.vue index 457f760c..71116b0a 100644 --- a/client/src/components/notes/BookmarkActions.vue +++ b/client/src/components/notes/BookmarkActions.vue @@ -52,8 +52,7 @@