From e0742ee9744bccb3ca00554c83c24b705820150d Mon Sep 17 00:00:00 2001 From: claire <102092516+dragonflyfree@users.noreply.github.com> Date: Mon, 3 Jun 2024 04:48:43 +0000 Subject: [PATCH] include dedupe information in Timelog saved banner so playwright can log it out in Develop branch --- system/modules/timelog/actions/edit.php | 9 ++++++--- .../timelog/tests/acceptance/playwright/timelog.utils.ts | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/system/modules/timelog/actions/edit.php b/system/modules/timelog/actions/edit.php index 8a8748b7a..2fb2fdb94 100755 --- a/system/modules/timelog/actions/edit.php +++ b/system/modules/timelog/actions/edit.php @@ -127,9 +127,12 @@ function edit_POST(Web $w) $timelogs_for_task_and_user[] = $existing_timelog; } } - LogService::getInstance($w)->setLogger('DEDUPE')->info("DEVELOP CI/CD TIMELOG DEDUPE TEST LOG ### CURRENT ### ID $timelog->id - DT START " . substr($timelog->dt_start, 0, 10) . " " . substr($timelog->dt_start, 11, 5)); + + $dedupeInfo = "current( id( $timelog->user_id ) dt_start( " . substr($timelog->dt_start, 0, 10) . " " . substr($timelog->dt_start, 11, 5) . " ) )"; + foreach ($timelogs_for_task_and_user as $existing_timelog_for_task_and_user) { - LogService::getInstance($w)->setLogger('DEDUPE')->info("DEVELOP CI/CD TIMELOG DEDUPE TEST LOG ### EXISTING ### ID $existing_timelog_for_task_and_user->id - DT START " . gmdate('Y-m-d', strtotime($existing_timelog_for_task_and_user->getDateStart() . ' ' . $existing_timelog_for_task_and_user->getTimeStart())) . " " . gmdate('H:i', strtotime($existing_timelog_for_task_and_user->getTimeStart()))); + + $dedupeInfo .= " existing( id( $existing_timelog_for_task_and_user->user_id ) dt_start( " . gmdate('Y-m-d', strtotime($existing_timelog_for_task_and_user->getDateStart() . ' ' . $existing_timelog_for_task_and_user->getTimeStart())) . " " . gmdate('H:i', strtotime($existing_timelog_for_task_and_user->getTimeStart())) . " ) )"; if (gmdate('Y-m-d', strtotime($existing_timelog_for_task_and_user->getDateStart() . ' ' . $existing_timelog_for_task_and_user->getTimeStart())) == substr($timelog->dt_start, 0, 10) && gmdate('H:i', strtotime($existing_timelog_for_task_and_user->getTimeStart())) == substr($timelog->dt_start, 11, 5)) { $w->error('Duplicate Timelog Removed', $redirect ?: '/timelog'); @@ -142,5 +145,5 @@ function edit_POST(Web $w) // Save comment $timelog->setComment($_POST['description']); - $w->msg("
Timelog saved
", (!empty($redirect) ? $redirect . "#timelog" : "/timelog")); + $w->msg("
Timelog saved
", (!empty($redirect) ? $redirect . "#timelog" : "/timelog")); } diff --git a/system/modules/timelog/tests/acceptance/playwright/timelog.utils.ts b/system/modules/timelog/tests/acceptance/playwright/timelog.utils.ts index ae1fc25d4..579bf646d 100644 --- a/system/modules/timelog/tests/acceptance/playwright/timelog.utils.ts +++ b/system/modules/timelog/tests/acceptance/playwright/timelog.utils.ts @@ -54,15 +54,17 @@ export class TimelogHelper { await page.getByLabel("Description", {exact: true}).fill(timelog); await page.locator("#timelog_edit_form").getByRole("button", { name: "Save" }).click(); + if(await page.$("#saved_record_id") != null) + console.log(await page.$eval("#saved_record_id", el => el.innerHTML)); + await page.getByRole("link", {name: taskName, exact: false}).first().click(); await page.getByRole("link", {name: "Time Log"}).click(); await page.reload(); - if (check_duplicate) { + if (check_duplicate) await expect(page.getByText(timelog)).toBeHidden(); - } else { + else await expect(page.getByText(timelog)).toBeVisible(); - } } static async editTimelog(page: Page, timelog: string, taskName: string, taskID: string, date: DateTime, start_time: string, end_time: string)