diff --git a/src/components/task.vue b/src/components/task.vue index 76365bc0..71febef6 100644 --- a/src/components/task.vue +++ b/src/components/task.vue @@ -887,7 +887,11 @@ export default { * @param {Object} data - The event data containing the tokenId of the task. */ async handleRedirectToTask(data) { - if (data?.params[0]?.tokenId) { + if ( + (data?.params[0]?.tokenId && + this.task.user?.id === data.params[0]?.userId) || + this.task.elementDestination?.type === 'taskSource' + ) { this.loadingTask = true; // Check if interstitial tasks are allowed for this task. if (this.task && !(this.task.allow_interstitial || this.isSameUser(this.task, data))) { diff --git a/tests/e2e/specs/ComplexScreen.spec.js b/tests/e2e/specs/ComplexScreen.spec.js index f7c50f7e..551f4589 100644 --- a/tests/e2e/specs/ComplexScreen.spec.js +++ b/tests/e2e/specs/ComplexScreen.spec.js @@ -761,9 +761,15 @@ describe("Complex screen", () => { cy.get("[data-cy=preview-content] [name=form_checkbox_6]").should( "be.checked" ); - cy.get("[data-cy=preview-content] [name=form_select_list_3]").eq(1).click(); - cy.get("[data-cy=preview-content] [name=form_select_list_4]").eq(1).click(); // Select b - cy.get("[data-cy=preview-content] [name=form_select_list_4]").eq(2).click(); // Select c + cy.get( + '[data-cy=preview-content] [id^="form_select_list_3-b-"]' + ).click(); + cy.get( + '[data-cy=preview-content] [id^="form_select_list_4-b-"]' + ).click(); // Select b + cy.get( + '[data-cy=preview-content] [id^="form_select_list_4-c-"]' + ).click(); // Select c // record list - complete new fields cy.get( "[data-cy=preview-content] [data-cy=screen-field-form_record_list_1] [data-cy=edit-row]" diff --git a/tests/e2e/specs/SelectListWatcher.spec.js b/tests/e2e/specs/SelectListWatcher.spec.js index 7de52ce7..cbab482c 100644 --- a/tests/e2e/specs/SelectListWatcher.spec.js +++ b/tests/e2e/specs/SelectListWatcher.spec.js @@ -51,7 +51,7 @@ describe("SelectList - Watcher", () => { // Select "John" option in radio buttons "form_select_list_2" cy.get( - "[data-cy=preview-content] [name=form_select_list_2][value=John]" + '[data-cy=preview-content] [id^="form_select_list_2-John-"]' ).click(); // Select "Mary" option in select list "form_select_list_3" @@ -78,7 +78,7 @@ describe("SelectList - Watcher", () => { // Select "John" option in radio buttons "form_select_list_2" cy.get( - "[data-cy=preview-content] [name=form_select_list_2][value=John]" + '[data-cy=preview-content] [id^="form_select_list_2-John-"]' ).click(); // Select "Mary" option in select list "form_select_list_3" diff --git a/tests/e2e/specs/SingleSelectWithInvalidValue.spec.js b/tests/e2e/specs/SingleSelectWithInvalidValue.spec.js index 684c800d..18569070 100644 --- a/tests/e2e/specs/SingleSelectWithInvalidValue.spec.js +++ b/tests/e2e/specs/SingleSelectWithInvalidValue.spec.js @@ -23,9 +23,9 @@ describe("single select with invalid initial value", () => { cy.setPreviewDataInput({ person: [] }); cy.get("[data-cy=mode-preview]").click(); - cy.get("[data-cy=preview-content] [name=person]").eq(0).click(); - cy.get("[data-cy=preview-content] [name=person]").eq(1).click(); - cy.get("[data-cy=preview-content] [name=person]").eq(0).click(); + cy.get('[data-cy=preview-content] [id^="person-one-"]').click(); + cy.get('[data-cy=preview-content] [id^="person-two-"]').click(); + cy.get('[data-cy=preview-content] [id^="person-one-"]').click(); // Check the data of the screen cy.assertPreviewData({ diff --git a/tests/e2e/specs/Task.spec.js b/tests/e2e/specs/Task.spec.js index d086b2c6..2e1aad18 100644 --- a/tests/e2e/specs/Task.spec.js +++ b/tests/e2e/specs/Task.spec.js @@ -916,6 +916,7 @@ describe("Task component", () => { completed_at: moment().toISOString(), due_at: moment().add(1, "day").toISOString(), user: { + id: 1, avatar: "", fullname: "Assigned User" },