diff --git a/e2e/specs/httpCache.cy.js b/e2e/specs/httpCache.cy.js index 14a5412ee5e..9e2759be847 100644 --- a/e2e/specs/httpCache.cy.js +++ b/e2e/specs/httpCache.cy.js @@ -141,37 +141,41 @@ describe('HTTP cache tests', () => { }) }) - it('invalidates /camp/{campId}/categories for new category', () => { - const uri = '/api/camps/3c79b99ab424/categories' - - Cypress.session.clearAllSavedSessions() - cy.login('test@example.com') - - // warm up cache - cy.expectCacheMiss(uri) - cy.expectCacheHit(uri) + it( + 'invalidates /camp/{campId}/categories for new category', + { retries: { runMode: 3 } }, + () => { + const uri = '/api/camps/3c79b99ab424/categories' - // add new category to camp - cy.apiPost('/api/categories', { - camp: '/api/camps/3c79b99ab424', - short: 'new', - name: 'new Category', - color: '#000000', - numberingStyle: '1', - }).then((response) => { - const newContentNodeUri = response.body._links.self.href + Cypress.session.clearAllSavedSessions() + cy.login('test@example.com') - // ensure cache was invalidated + // warm up cache cy.expectCacheMiss(uri) cy.expectCacheHit(uri) - // delete newly created contentNode - cy.apiDelete(newContentNodeUri) - - // ensure cache was invalidated - cy.expectCacheMiss(uri) - }) - }) + // add new category to camp + cy.apiPost('/api/categories', { + camp: '/api/camps/3c79b99ab424', + short: 'new', + name: 'new Category', + color: '#000000', + numberingStyle: '1', + }).then((response) => { + const newContentNodeUri = response.body._links.self.href + + // ensure cache was invalidated + cy.expectCacheMiss(uri) + cy.expectCacheHit(uri) + + // delete newly created contentNode + cy.apiDelete(newContentNodeUri) + + // ensure cache was invalidated + cy.expectCacheMiss(uri) + }) + } + ) it('invalidates cached data when user leaves a camp', () => { Cypress.session.clearAllSavedSessions() diff --git a/frontend/src/components/checklist/ChecklistItemParent.vue b/frontend/src/components/checklist/ChecklistItemParent.vue index db317745688..3db112f1ed6 100644 --- a/frontend/src/components/checklist/ChecklistItemParent.vue +++ b/frontend/src/components/checklist/ChecklistItemParent.vue @@ -68,6 +68,11 @@ export default { depth: { type: Number, required: true }, allChecklistNodes: { type: Array, required: true }, }, + data() { + return { + checklistNodes: [], + } + }, computed: { activities() { const camp = this.checklistItem.checklist().camp() diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 50e3338bfc8..29a35ebcec0 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -205,6 +205,10 @@ "delete": "Do you really want to remove this item?", "title": "Edit checklist entry" }, + "checklistDetail": { + "deleteWarning": "Do you really want to remove this checklist? All content of the checklist will be deleted.", + "deleteError": "Checklist couldn't be deleted. Ensure checklist is not used within activities before trying to delete it." + }, "sortableChecklist": { "add": "Add to \"{parent}\"" }