diff --git a/packages/frontend/app/components/user-profile.gjs b/packages/frontend/app/components/user-profile.gjs
index 62c7e91e2e..50041c8909 100644
--- a/packages/frontend/app/components/user-profile.gjs
+++ b/packages/frontend/app/components/user-profile.gjs
@@ -1,5 +1,4 @@
import Component from '@glimmer/component';
-import { tracked } from '@glimmer/tracking';
import { service } from '@ember/service';
import ManageUsersSummary from 'frontend/components/manage-users-summary';
import t from 'ember-intl/helpers/t';
@@ -8,7 +7,6 @@ import UserStatus from 'ilios-common/components/user-status';
import PendingSingleUserUpdate from 'frontend/components/pending-single-user-update';
import ToggleButtons from 'ilios-common/components/toggle-buttons';
import not from 'ember-truth-helpers/helpers/not';
-import toggle from 'ilios-common/helpers/toggle';
import UserProfileCalendar from 'frontend/components/user-profile-calendar';
import UserProfileBio from 'frontend/components/user-profile-bio';
import UserProfileRoles from 'frontend/components/user-profile-roles';
@@ -20,7 +18,6 @@ import LearnerGroups from 'frontend/components/user-profile/learner-groups';
export default class UserProfileComponent extends Component {
@service currentUser;
- @tracked showCalendar = false;
get userIsTheCurrentUser() {
return Number(this.currentUser.currentUserId) === Number(this.args.user.id);
@@ -44,14 +41,14 @@ export default class UserProfileComponent extends Component {
- {{#if this.showCalendar}}
+ {{#if @showCalendar}}
{{/if}}
{{pageTitle (t "general.admin") " | " (t "general.users") " | " @model.fullName}}
{
+ this.set('showCalendar', !this.showCalendar);
+ });
await render(
@@ -107,6 +111,8 @@ module('Integration | Component | user-profile', function (hooks) {
@user={{this.user}}
@canUpdate={{false}}
@canCreate={{false}}
+ @showCalendar={{this.showCalendar}}
+ @setShowCalendar={{this.setShowCalendar}}
@isManagingBio={{false}}
@setIsManagingBio={{(noop)}}
@isManagingRoles={{false}}
@@ -125,14 +131,28 @@ module('Integration | Component | user-profile', function (hooks) {
,
);
- assert.notOk(component.calendar.isVisible);
- assert.strictEqual(component.actions.calendarToggle.firstLabel.text, 'Hide Calendar');
- assert.ok(component.actions.calendarToggle.firstButton.isChecked);
- assert.strictEqual(component.actions.calendarToggle.secondLabel.text, 'Show Calendar');
- assert.notOk(component.actions.calendarToggle.secondButton.isChecked);
+ assert.notOk(component.calendar.isVisible, 'calendar is not visible');
+ assert.strictEqual(
+ component.actions.calendarToggle.firstLabel.text,
+ 'Hide Calendar',
+ 'first toggle button label is correct',
+ );
+ assert.ok(
+ component.actions.calendarToggle.firstButton.isChecked,
+ 'first toggle button is checked',
+ );
+ assert.strictEqual(
+ component.actions.calendarToggle.secondLabel.text,
+ 'Show Calendar',
+ 'second toggle button label is correct',
+ );
+ assert.notOk(
+ component.actions.calendarToggle.secondButton.isChecked,
+ 'second toggle button is not checked',
+ );
await component.actions.calendarToggle.secondButton.click();
- assert.ok(component.calendar.isVisible);
+ assert.ok(component.calendar.isVisible, 'calendar is visible after toggle');
await component.actions.calendarToggle.firstButton.click();
- assert.notOk(component.calendar.isVisible);
+ assert.notOk(component.calendar.isVisible, 'calendar is not visible after toggle');
});
});