diff --git a/packages/ilios-common/addon-test-support/ilios-common/page-objects/components/dashboard/week.js b/packages/ilios-common/addon-test-support/ilios-common/page-objects/components/dashboard/week.js index 7a7f1e4201..e2409aebf4 100644 --- a/packages/ilios-common/addon-test-support/ilios-common/page-objects/components/dashboard/week.js +++ b/packages/ilios-common/addon-test-support/ilios-common/page-objects/components/dashboard/week.js @@ -1,9 +1,12 @@ -import { create, text } from 'ember-cli-page-object'; +import { attribute, create } from 'ember-cli-page-object'; import weekGlance from '../week-glance'; const definition = { scope: '[data-test-dashboard-week]', - weeklyLink: text('[data-test-weekly-link] a'), + weeklyLink: { + scope: '[data-test-weekly-link] a', + url: attribute('href'), + }, weekGlance, }; diff --git a/packages/ilios-common/addon/components/dashboard/week.gjs b/packages/ilios-common/addon/components/dashboard/week.gjs index 6dfb4673c7..92d1260565 100644 --- a/packages/ilios-common/addon/components/dashboard/week.gjs +++ b/packages/ilios-common/addon/components/dashboard/week.gjs @@ -69,7 +69,10 @@ export default class DashboardWeekComponent extends Component { data-test-weekly-link > {{t "general.view"}}: - + {{t "general.allWeeks"}} diff --git a/packages/ilios-common/addon/routes/weeklyevents.js b/packages/ilios-common/addon/routes/weeklyevents.js index b9d6beaa3b..acd4ae32c9 100644 --- a/packages/ilios-common/addon/routes/weeklyevents.js +++ b/packages/ilios-common/addon/routes/weeklyevents.js @@ -11,6 +11,9 @@ export default class WeeklyeventsRoute extends Route { week: { replace: true, }, + year: { + replace: true, + }, }; beforeModel(transition) { diff --git a/packages/test-app/tests/integration/components/dashboard/week-test.gjs b/packages/test-app/tests/integration/components/dashboard/week-test.gjs index 93777212ec..568787064a 100644 --- a/packages/test-app/tests/integration/components/dashboard/week-test.gjs +++ b/packages/test-app/tests/integration/components/dashboard/week-test.gjs @@ -99,7 +99,7 @@ module('Integration | Component | dashboard/week', function (hooks) { await render(); const expectedTitle = this.getTitle(); - assert.strictEqual(component.weeklyLink, 'All Weeks'); + assert.strictEqual(component.weeklyLink.text, 'All Weeks'); assert.strictEqual(component.weekGlance.title, expectedTitle); assert.strictEqual(component.weekGlance.eventsByDate.length, 1); assert.strictEqual( @@ -118,7 +118,7 @@ module('Integration | Component | dashboard/week', function (hooks) { this.setupEvents([]); await render(); const expectedTitle = this.getTitle(); - assert.strictEqual(component.weeklyLink, 'All Weeks'); + assert.strictEqual(component.weeklyLink.text, 'All Weeks'); assert.strictEqual(component.weekGlance.title, expectedTitle); assert.strictEqual(component.weekGlance.eventsByDate.length, 0); }); @@ -234,4 +234,20 @@ module('Integration | Component | dashboard/week', function (hooks) { 'June 19-25 Week at a Glance', ); }); + + test('link to weeklyevent without year', async function (assert) { + this.setupEvents([]); + const dt = DateTime.fromObject({ year: 2024, month: 12, day: 23 }); + freezeDateAt(dt.toJSDate()); + await render(); + assert.strictEqual(component.weeklyLink.url, '/weeklyevents?expanded=51-52-1&week=52'); + }); + + test('link to weeklyevent with year', async function (assert) { + this.setupEvents([]); + const dt = DateTime.fromObject({ year: 2024, month: 12, day: 30 }); + freezeDateAt(dt.toJSDate()); + await render(); + assert.strictEqual(component.weeklyLink.url, '/weeklyevents?expanded=52-1-2&week=1&year=2025'); + }); });