From 76a199af611e7bdecf5db476de157d7eb3b21a69 Mon Sep 17 00:00:00 2001 From: Michael Chadwick Date: Mon, 15 Jul 2024 14:22:30 -0700 Subject: [PATCH 1/3] created test helper to create unique percy snapshot names --- packages/frontend/tests/helpers/percy-snapshot-name.js | 3 +++ packages/frontend/tests/test-helper.js | 1 + 2 files changed, 4 insertions(+) create mode 100644 packages/frontend/tests/helpers/percy-snapshot-name.js diff --git a/packages/frontend/tests/helpers/percy-snapshot-name.js b/packages/frontend/tests/helpers/percy-snapshot-name.js new file mode 100644 index 0000000000..59428c9484 --- /dev/null +++ b/packages/frontend/tests/helpers/percy-snapshot-name.js @@ -0,0 +1,3 @@ +export function getUniqueName(assert, assertion) { + return assert.test.module.name + ' | ' + assert.test.testName + ' | ' + assertion; +} diff --git a/packages/frontend/tests/test-helper.js b/packages/frontend/tests/test-helper.js index aca7740ecd..24b3bf84f7 100644 --- a/packages/frontend/tests/test-helper.js +++ b/packages/frontend/tests/test-helper.js @@ -9,6 +9,7 @@ import { setAdapter } from 'ember-cli-page-object/adapters'; import { setRunOptions } from 'ember-a11y-testing/test-support'; import 'qunit-theme-ember/qunit.css'; import './helpers/flash-message'; +import './helpers/percy-snapshot-name'; setRunOptions({ preload: false, From d9723a5bee5bc965d49c8bf027ab5149e3acff53 Mon Sep 17 00:00:00 2001 From: Michael Chadwick Date: Mon, 15 Jul 2024 15:47:44 -0700 Subject: [PATCH 2/3] updated specific tests to use new percy snapshot unique name generator --- packages/frontend/tests/acceptance/admin-test.js | 5 +++-- .../tests/acceptance/course/overview-test.js | 5 +++-- .../tests/acceptance/course/sessionlist-test.js | 5 +++-- packages/frontend/tests/acceptance/courses-test.js | 5 +++-- .../tests/acceptance/dashboard/materials-test.js | 5 +++-- .../learner-group/bulk-assignment-test.js | 9 +++++---- .../frontend/tests/acceptance/learnergroup-test.js | 7 ++++--- .../frontend/tests/acceptance/learnergroups-test.js | 9 +++++---- .../acceptance/program/programyear-list-test.js | 5 +++-- packages/frontend/tests/acceptance/programs-test.js | 5 +++-- .../tests/acceptance/reports/subjects-test.js | 5 +++-- .../acceptance/school/session-attributes-test.js | 5 +++-- packages/frontend/tests/acceptance/user-test.js | 13 +++++++------ packages/frontend/tests/acceptance/users-test.js | 5 +++-- 14 files changed, 51 insertions(+), 37 deletions(-) diff --git a/packages/frontend/tests/acceptance/admin-test.js b/packages/frontend/tests/acceptance/admin-test.js index b2366c1227..9f5957df44 100644 --- a/packages/frontend/tests/acceptance/admin-test.js +++ b/packages/frontend/tests/acceptance/admin-test.js @@ -1,6 +1,7 @@ import { click, fillIn, currentURL, triggerEvent, visit, waitFor } from '@ember/test-helpers'; import { module, test } from 'qunit'; import { setupAuthentication } from 'ilios-common'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; const url = '/admin'; @@ -36,10 +37,10 @@ module('Acceptance | Admin', function (hooks) { const name = '.user-display-name'; await visit(url); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); await fillIn(userSearch, 'son'); await triggerEvent(userSearch, 'keyup'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'search results dropdown')); assert.dom(secondResultUsername).hasText('1 guy M. Mc1son', 'user name is correct'); assert.dom(secondResultEmail).hasText('user@example.edu', 'user email is correct'); diff --git a/packages/frontend/tests/acceptance/course/overview-test.js b/packages/frontend/tests/acceptance/course/overview-test.js index 7717b7674e..5f08add437 100644 --- a/packages/frontend/tests/acceptance/course/overview-test.js +++ b/packages/frontend/tests/acceptance/course/overview-test.js @@ -5,6 +5,7 @@ import { setupAuthentication } from 'ilios-common'; import { t } from 'ember-intl/test-support'; import page from 'ilios-common/page-objects/course'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Course - Overview', function (hooks) { setupApplicationTest(hooks); @@ -116,11 +117,11 @@ module('Acceptance | Course - Overview', function (hooks) { assert.strictEqual(page.details.titles, 2); assert.strictEqual(currentURL(), '/courses/1'); await page.details.collapseControl(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, '/courses/1')); assert.ok(page.details.titles > 2); assert.strictEqual(currentURL(), '/courses/1?details=true'); await page.details.collapseControl(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, '/courses/1?details=true')); assert.strictEqual(page.details.titles, 2); assert.strictEqual(currentURL(), '/courses/1'); }); diff --git a/packages/frontend/tests/acceptance/course/sessionlist-test.js b/packages/frontend/tests/acceptance/course/sessionlist-test.js index a7c46e9578..f63cc9236c 100644 --- a/packages/frontend/tests/acceptance/course/sessionlist-test.js +++ b/packages/frontend/tests/acceptance/course/sessionlist-test.js @@ -6,6 +6,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'ilios-common/page-objects/sessions'; import sessionPage from 'ilios-common/page-objects/session'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Course - Session List', function (hooks) { setupApplicationTest(hooks); @@ -231,11 +232,11 @@ module('Acceptance | Course - Session List', function (hooks) { assert.strictEqual(expandedSessions.length, 0); assert.notOk(page.courseSessions.sessionsGridHeader.expandCollapse.allAreExpanded); await page.courseSessions.sessionsGridHeader.expandCollapse.toggle.click(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'not expanded')); assert.strictEqual(expandedSessions.length, 4); assert.ok(page.courseSessions.sessionsGridHeader.expandCollapse.allAreExpanded); await page.courseSessions.sessionsGridHeader.expandCollapse.toggle.click(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'expanded')); assert.strictEqual(expandedSessions.length, 0); assert.notOk(page.courseSessions.sessionsGridHeader.expandCollapse.allAreExpanded); }); diff --git a/packages/frontend/tests/acceptance/courses-test.js b/packages/frontend/tests/acceptance/courses-test.js index 63372c2ea4..7ac8686602 100644 --- a/packages/frontend/tests/acceptance/courses-test.js +++ b/packages/frontend/tests/acceptance/courses-test.js @@ -5,6 +5,7 @@ import { DateTime } from 'luxon'; import page from 'frontend/tests/pages/courses'; import { setupApplicationTest } from 'frontend/tests/helpers'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Courses', function (hooks) { setupApplicationTest(hooks); @@ -86,7 +87,7 @@ module('Acceptance | Courses', function (hooks) { archived: true, }); await page.visit(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); assert.strictEqual(page.root.list.courses.length, 5); assert.strictEqual(page.root.list.courses[0].title, regexCourse.title); assert.strictEqual(page.root.list.courses[1].title, lastCourse.title); @@ -116,7 +117,7 @@ module('Acceptance | Courses', function (hooks) { assert.strictEqual(page.root.headerTitle, 'Courses (2)'); await page.root.filterByTitle('course'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'filterByTitle')); assert.strictEqual(page.root.list.courses.length, 4); assert.strictEqual(page.root.list.courses[0].title, lastCourse.title); assert.strictEqual(page.root.list.courses[1].title, regularCourse.title); diff --git a/packages/frontend/tests/acceptance/dashboard/materials-test.js b/packages/frontend/tests/acceptance/dashboard/materials-test.js index 876624df19..61140392ee 100644 --- a/packages/frontend/tests/acceptance/dashboard/materials-test.js +++ b/packages/frontend/tests/acceptance/dashboard/materials-test.js @@ -5,6 +5,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import { a11yAudit } from 'ember-a11y-testing/test-support'; import page from 'ilios-common/page-objects/dashboard-materials'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Dashboard Materials', function (hooks) { setupApplicationTest(hooks); @@ -534,7 +535,7 @@ module('Acceptance | Dashboard Materials', function (hooks) { }; }); await page.visit(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); const materials = page.materials.table.rows; assert.strictEqual(materials.length, 6); @@ -551,7 +552,7 @@ module('Acceptance | Dashboard Materials', function (hooks) { await materials[4].status.click(); await materials[4].status.click(); await materials[5].status.click(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'checkbox status')); assert.ok(materials[0].status.isChecked); assert.notOk(materials[1].status.isChecked); diff --git a/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js b/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js index 6cb0e045cb..6fd81b8747 100644 --- a/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js +++ b/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js @@ -4,6 +4,7 @@ import { triggerEvent, waitFor } from '@ember/test-helpers'; import { setupAuthentication } from 'ilios-common'; import page from '../../pages/learner-group'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | learner-group/bulk-assignment', function (hooks) { setupApplicationTest(hooks); @@ -60,7 +61,7 @@ module('Acceptance | learner-group/bulk-assignment', function (hooks) { test('upload users', async function (assert) { assert.expect(12); await page.visit({ learnerGroupId: 1 }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'learnerGroupId 1')); await page.root.actions.buttons.bulkAssignment.click(); this.server.create('user', { firstName: 'jasper', @@ -80,7 +81,7 @@ module('Acceptance | learner-group/bulk-assignment', function (hooks) { ]; await triggerUpload(users); await waitFor('[data-test-upload-data-valid-users]'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'upload users')); assert.strictEqual(page.root.bulkAssignment.validUploadedUsers.length, 2); assert.ok(page.root.bulkAssignment.validUploadedUsers[0].isValid); @@ -300,13 +301,13 @@ module('Acceptance | learner-group/bulk-assignment', function (hooks) { assert.strictEqual(this.server.db.learnerGroups[0].userIds, null); assert.strictEqual(this.server.db.learnerGroups[1].userIds, null); assert.strictEqual(this.server.db.learnerGroups[2].userIds, null); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'pre-bulkAssignment')); await page.root.bulkAssignment.submitFinalData(); assert.deepEqual(this.server.db.learnerGroups[0].userIds, ['2', '3']); assert.deepEqual(this.server.db.learnerGroups[1].userIds, null); assert.deepEqual(this.server.db.learnerGroups[2].userIds, ['3']); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'post-bulkAssignment')); }); test('create a new group when requested', async function (assert) { diff --git a/packages/frontend/tests/acceptance/learnergroup-test.js b/packages/frontend/tests/acceptance/learnergroup-test.js index af222c35ba..7bb960fdb0 100644 --- a/packages/frontend/tests/acceptance/learnergroup-test.js +++ b/packages/frontend/tests/acceptance/learnergroup-test.js @@ -6,6 +6,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from '../pages/learner-group'; import learnerGroupsPage from '../pages/learner-groups'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Learner Group', function (hooks) { setupApplicationTest(hooks); @@ -104,13 +105,13 @@ module('Acceptance | Learner Group', function (hooks) { }); await page.visit({ learnerGroupId: 1 }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'learnerGroupId1')); assert.strictEqual(page.root.subgroups.list.items.length, 2); assert.strictEqual(page.root.subgroups.list.items[0].title, 'learner group 1'); assert.strictEqual(page.root.subgroups.list.items[1].title, 'learner group 2'); await page.root.subgroups.toggleNewLearnerGroupForm(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'toggleNewLearnerGroupForm')); assert.ok(page.root.subgroups.newLearnerGroupForm.singleGroupSelected); assert.notOk(page.root.subgroups.newLearnerGroupForm.multipleGroupSelected); @@ -132,7 +133,7 @@ module('Acceptance | Learner Group', function (hooks) { await page.root.subgroups.newLearnerGroupForm.chooseMultipleGroups(); await page.root.subgroups.newLearnerGroupForm.multiple.setNumberOfGroups(2); await page.root.subgroups.newLearnerGroupForm.multiple.save(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'toggleNewLearnerGroupForm +2 subgroups')); assert.strictEqual(page.root.subgroups.list.items.length, 9); assert.strictEqual(page.root.subgroups.list.items[0].title, 'learner group 0 1'); diff --git a/packages/frontend/tests/acceptance/learnergroups-test.js b/packages/frontend/tests/acceptance/learnergroups-test.js index 1d7164423e..97e0bfe060 100644 --- a/packages/frontend/tests/acceptance/learnergroups-test.js +++ b/packages/frontend/tests/acceptance/learnergroups-test.js @@ -5,6 +5,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/learner-groups'; import learnerGroupPage from 'frontend/tests/pages/learner-group'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Learner Groups', function (hooks) { setupApplicationTest(hooks); @@ -470,9 +471,9 @@ module('Acceptance | Learner Groups', function (hooks) { await page.list.items[0].copy(); assert.ok(page.list.confirmCopy.canCopyWithoutLearners); assert.ok(page.list.confirmCopy.canCopyWithLearners); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'canCopyWithLearners')); await page.list.confirmCopy.copyWithoutLearners(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'copyWithoutLearners')); assert.strictEqual(page.list.items.length, 2); assert.strictEqual(page.list.items[0].title, 'learner group 0'); @@ -535,9 +536,9 @@ module('Acceptance | Learner Groups', function (hooks) { await page.list.items[0].copy(); assert.ok(page.list.confirmCopy.canCopyWithoutLearners); assert.ok(page.list.confirmCopy.canCopyWithLearners); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'canCopyWithLearners')); await page.list.confirmCopy.copyWithLearners(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'copyWithLearners')); assert.strictEqual(page.list.items.length, 2); assert.strictEqual(page.list.items[0].title, 'learner group 0'); diff --git a/packages/frontend/tests/acceptance/program/programyear-list-test.js b/packages/frontend/tests/acceptance/program/programyear-list-test.js index d477bbe646..cfe103dc2d 100644 --- a/packages/frontend/tests/acceptance/program/programyear-list-test.js +++ b/packages/frontend/tests/acceptance/program/programyear-list-test.js @@ -5,6 +5,7 @@ import { setupAuthentication } from 'ilios-common'; import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/program'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Program - ProgramYear List', function (hooks) { setupApplicationTest(hooks); @@ -42,7 +43,7 @@ module('Acceptance | Program - ProgramYear List', function (hooks) { archived: true, }); await page.visit({ programId: this.program.id }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); assert.strictEqual(page.programYears.items.length, 3); assert.strictEqual(page.programYears.items[0].link.text, `${thisYear - 2}`); assert.strictEqual(page.programYears.items[0].title, 'cohort 1'); @@ -51,7 +52,7 @@ module('Acceptance | Program - ProgramYear List', function (hooks) { assert.strictEqual(page.programYears.items[2].link.text, `${thisYear}`); assert.strictEqual(page.programYears.items[2].title, 'cohort 0'); await page.programYears.expandCollapse.toggle(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'show programYears')); assert.strictEqual(page.programYears.newProgramYear.years.options.length, 6); }); diff --git a/packages/frontend/tests/acceptance/programs-test.js b/packages/frontend/tests/acceptance/programs-test.js index b2b6fcc1e6..04bdf70de6 100644 --- a/packages/frontend/tests/acceptance/programs-test.js +++ b/packages/frontend/tests/acceptance/programs-test.js @@ -5,6 +5,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/programs'; import detailPage from 'frontend/tests/pages/program'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Programs', function (hooks) { setupApplicationTest(hooks); @@ -33,10 +34,10 @@ module('Acceptance | Programs', function (hooks) { await visit(url); await click(expandButton); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'expandButton')); await fillIn(input, 'Test Title'); await click(saveButton); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'saveButton')); function getContent(i) { return find(`tbody tr td:nth-of-type(${i + 1})`).textContent.trim(); } diff --git a/packages/frontend/tests/acceptance/reports/subjects-test.js b/packages/frontend/tests/acceptance/reports/subjects-test.js index 0385f04459..12bc5aaa44 100644 --- a/packages/frontend/tests/acceptance/reports/subjects-test.js +++ b/packages/frontend/tests/acceptance/reports/subjects-test.js @@ -5,6 +5,7 @@ import page from 'frontend/tests/pages/reports'; import subjectReportPage from 'frontend/tests/pages/reports-subject'; import { setupApplicationTest } from 'frontend/tests/helpers'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Reports - Subject Reports', function (hooks) { setupApplicationTest(hooks); @@ -96,9 +97,9 @@ module('Acceptance | Reports - Subject Reports', function (hooks) { await page.root.list.newSubject.objects.choose('course'); await page.root.list.newSubject.course.input('cour'); await page.root.list.newSubject.course.results[1].click(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'pre-save form')); await page.root.list.newSubject.save(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'post-save form')); assert.strictEqual(page.root.list.table.reports.length, 3); assert.strictEqual(page.root.list.table.reports[0].title, 'aardvark'); assert.strictEqual( diff --git a/packages/frontend/tests/acceptance/school/session-attributes-test.js b/packages/frontend/tests/acceptance/school/session-attributes-test.js index 9fa35d3a79..6291eaa157 100644 --- a/packages/frontend/tests/acceptance/school/session-attributes-test.js +++ b/packages/frontend/tests/acceptance/school/session-attributes-test.js @@ -3,6 +3,7 @@ import { setupAuthentication } from 'ilios-common'; import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/school'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | School - Session Attributes', function (hooks) { setupApplicationTest(hooks); @@ -107,7 +108,7 @@ module('Acceptance | School - Session Attributes', function (hooks) { schoolSessionAttributesDetails: true, schoolManageSessionAttributes: true, }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); assert.strictEqual( page.manager.schoolSessionAttributes.expanded.manager.attendanceRequired.label, 'Attendance Required', @@ -137,7 +138,7 @@ module('Acceptance | School - Session Attributes', function (hooks) { await page.manager.schoolSessionAttributes.expanded.manager.attendanceRequired.check(); await page.manager.schoolSessionAttributes.expanded.manager.supplemental.check(); await page.manager.schoolSessionAttributes.expanded.manager.specialEquipmentRequired.check(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'session attributes checked')); await page.manager.schoolSessionAttributes.expanded.save(); assert.strictEqual( page.manager.schoolSessionAttributes.expanded.attributes.attendanceRequired.label, diff --git a/packages/frontend/tests/acceptance/user-test.js b/packages/frontend/tests/acceptance/user-test.js index 5909f63feb..15426bd70d 100644 --- a/packages/frontend/tests/acceptance/user-test.js +++ b/packages/frontend/tests/acceptance/user-test.js @@ -4,6 +4,7 @@ import { setupAuthentication, freezeDateAt, unfreezeDate } from 'ilios-common'; import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/user'; import percySnapshot from '@percy/ember'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | User', function (hooks) { setupApplicationTest(hooks); @@ -47,10 +48,10 @@ module('Acceptance | User', function (hooks) { const name = '.user-display-name'; await visit('/users/100'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); await fillIn(userSearch, 'son'); await triggerEvent(userSearch, 'keyup'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'search results dropdown')); assert.dom(secondResultUsername).hasText('1 guy M. Mc1son', 'user name is correct'); assert.dom(secondResultEmail).hasText('user@example.edu', 'user email is correct'); @@ -79,7 +80,7 @@ module('Acceptance | User', function (hooks) { school: this.school, }); await page.visit({ userId: user1.id }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'user1')); assert.strictEqual(page.roles.student.value, 'Yes'); assert.strictEqual(page.roles.student.label, 'Student:'); assert.strictEqual(page.roles.formerStudent.value, 'Yes'); @@ -89,13 +90,13 @@ module('Acceptance | User', function (hooks) { assert.strictEqual(page.roles.excludeFromSync.value, 'Yes'); assert.strictEqual(page.roles.excludeFromSync.label, 'Exclude From Sync:'); await page.roles.manage(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'user1 manage roles')); assert.ok(page.roles.formerStudent.selected); assert.ok(page.roles.enabled.selected); assert.ok(page.roles.excludeFromSync.selected); await page.visit({ userId: user2.id }); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'user2')); assert.strictEqual(page.roles.student.value, 'No'); assert.strictEqual(page.roles.student.label, 'Student:'); assert.strictEqual(page.roles.formerStudent.value, 'No'); @@ -105,7 +106,7 @@ module('Acceptance | User', function (hooks) { assert.strictEqual(page.roles.excludeFromSync.value, 'No'); assert.strictEqual(page.roles.excludeFromSync.label, 'Exclude From Sync:'); await page.roles.manage(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'user2 manage roles')); assert.notOk(page.roles.formerStudent.selected); assert.notOk(page.roles.enabled.selected); assert.notOk(page.roles.excludeFromSync.selected); diff --git a/packages/frontend/tests/acceptance/users-test.js b/packages/frontend/tests/acceptance/users-test.js index 7b11584107..e13fac02c9 100644 --- a/packages/frontend/tests/acceptance/users-test.js +++ b/packages/frontend/tests/acceptance/users-test.js @@ -5,6 +5,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/users'; import percySnapshot from '@percy/ember'; import userPage from 'frontend/tests/pages/user'; +import { getUniqueName } from '../helpers/percy-snapshot-name'; module('Acceptance | Users', function (hooks) { setupApplicationTest(hooks); @@ -50,9 +51,9 @@ module('Acceptance | Users', function (hooks) { assert.expect(3); this.server.createList('user', 40, { firstName: 'Test', lastName: 'Name', schoolId: 1 }); await page.visit(); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'default')); await page.root.search.set('Test Name'); - await percySnapshot(assert); + await percySnapshot(getUniqueName(assert, 'search results')); assert.strictEqual(page.root.userList.users[0].userNameInfo.fullName, 'Test M. Name'); assert.strictEqual(currentURL(), '/users?filter=Test%20Name', 'no query params for search'); await page.root.userList.users[0].viewUserDetails(); From 11b117445fe0b121cdfbcf96ae3940c489bca113 Mon Sep 17 00:00:00 2001 From: Michael Chadwick Date: Mon, 15 Jul 2024 16:06:23 -0700 Subject: [PATCH 3/3] fixed paths --- packages/frontend/tests/acceptance/course/overview-test.js | 2 +- packages/frontend/tests/acceptance/course/sessionlist-test.js | 2 +- .../frontend/tests/acceptance/dashboard/materials-test.js | 2 +- .../tests/acceptance/learner-group/bulk-assignment-test.js | 2 +- .../tests/acceptance/program/programyear-list-test.js | 2 +- packages/frontend/tests/acceptance/reports/subjects-test.js | 2 +- .../tests/acceptance/school/session-attributes-test.js | 2 +- packages/frontend/tests/helpers/percy-snapshot-name.js | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/frontend/tests/acceptance/course/overview-test.js b/packages/frontend/tests/acceptance/course/overview-test.js index 5f08add437..528b1f55cc 100644 --- a/packages/frontend/tests/acceptance/course/overview-test.js +++ b/packages/frontend/tests/acceptance/course/overview-test.js @@ -5,7 +5,7 @@ import { setupAuthentication } from 'ilios-common'; import { t } from 'ember-intl/test-support'; import page from 'ilios-common/page-objects/course'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | Course - Overview', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/course/sessionlist-test.js b/packages/frontend/tests/acceptance/course/sessionlist-test.js index f63cc9236c..87b06651c2 100644 --- a/packages/frontend/tests/acceptance/course/sessionlist-test.js +++ b/packages/frontend/tests/acceptance/course/sessionlist-test.js @@ -6,7 +6,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'ilios-common/page-objects/sessions'; import sessionPage from 'ilios-common/page-objects/session'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | Course - Session List', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/dashboard/materials-test.js b/packages/frontend/tests/acceptance/dashboard/materials-test.js index 61140392ee..deac21e130 100644 --- a/packages/frontend/tests/acceptance/dashboard/materials-test.js +++ b/packages/frontend/tests/acceptance/dashboard/materials-test.js @@ -5,7 +5,7 @@ import { setupApplicationTest } from 'frontend/tests/helpers'; import { a11yAudit } from 'ember-a11y-testing/test-support'; import page from 'ilios-common/page-objects/dashboard-materials'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | Dashboard Materials', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js b/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js index 6fd81b8747..5db53da7ca 100644 --- a/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js +++ b/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js @@ -4,7 +4,7 @@ import { triggerEvent, waitFor } from '@ember/test-helpers'; import { setupAuthentication } from 'ilios-common'; import page from '../../pages/learner-group'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | learner-group/bulk-assignment', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/program/programyear-list-test.js b/packages/frontend/tests/acceptance/program/programyear-list-test.js index cfe103dc2d..bb0f64493f 100644 --- a/packages/frontend/tests/acceptance/program/programyear-list-test.js +++ b/packages/frontend/tests/acceptance/program/programyear-list-test.js @@ -5,7 +5,7 @@ import { setupAuthentication } from 'ilios-common'; import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/program'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | Program - ProgramYear List', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/reports/subjects-test.js b/packages/frontend/tests/acceptance/reports/subjects-test.js index 12bc5aaa44..c897714840 100644 --- a/packages/frontend/tests/acceptance/reports/subjects-test.js +++ b/packages/frontend/tests/acceptance/reports/subjects-test.js @@ -5,7 +5,7 @@ import page from 'frontend/tests/pages/reports'; import subjectReportPage from 'frontend/tests/pages/reports-subject'; import { setupApplicationTest } from 'frontend/tests/helpers'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | Reports - Subject Reports', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/acceptance/school/session-attributes-test.js b/packages/frontend/tests/acceptance/school/session-attributes-test.js index 6291eaa157..5efa9eed9e 100644 --- a/packages/frontend/tests/acceptance/school/session-attributes-test.js +++ b/packages/frontend/tests/acceptance/school/session-attributes-test.js @@ -3,7 +3,7 @@ import { setupAuthentication } from 'ilios-common'; import { setupApplicationTest } from 'frontend/tests/helpers'; import page from 'frontend/tests/pages/school'; import percySnapshot from '@percy/ember'; -import { getUniqueName } from '../helpers/percy-snapshot-name'; +import { getUniqueName } from '../../helpers/percy-snapshot-name'; module('Acceptance | School - Session Attributes', function (hooks) { setupApplicationTest(hooks); diff --git a/packages/frontend/tests/helpers/percy-snapshot-name.js b/packages/frontend/tests/helpers/percy-snapshot-name.js index 59428c9484..103345145d 100644 --- a/packages/frontend/tests/helpers/percy-snapshot-name.js +++ b/packages/frontend/tests/helpers/percy-snapshot-name.js @@ -1,3 +1,3 @@ -export function getUniqueName(assert, assertion) { - return assert.test.module.name + ' | ' + assert.test.testName + ' | ' + assertion; +export function getUniqueName(assert, description) { + return assert.test.module.name + ' | ' + assert.test.testName + ' | ' + description; }