Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix bug with multiple percySnapshot calls in same test #7968

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/admin-test.js
Original file line number Diff line number Diff line change
@@ -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';

Expand Down Expand Up @@ -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('[email protected]', 'user email is correct');

Expand Down
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/course/overview-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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');
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
});
Expand Down
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/courses-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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',
Expand All @@ -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);
Expand Down Expand Up @@ -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) {
Expand Down
7 changes: 4 additions & 3 deletions packages/frontend/tests/acceptance/learnergroup-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand All @@ -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');
Expand Down
9 changes: 5 additions & 4 deletions packages/frontend/tests/acceptance/learnergroups-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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');
Expand Down Expand Up @@ -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');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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');
Expand All @@ -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);
});

Expand Down
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/programs-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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();
}
Expand Down
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/reports/subjects-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -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,
Expand Down
13 changes: 7 additions & 6 deletions packages/frontend/tests/acceptance/user-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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('[email protected]', 'user email is correct');

Expand Down Expand Up @@ -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');
Expand All @@ -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');
Expand All @@ -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);
Expand Down
5 changes: 3 additions & 2 deletions packages/frontend/tests/acceptance/users-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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();
Expand Down
3 changes: 3 additions & 0 deletions packages/frontend/tests/helpers/percy-snapshot-name.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export function getUniqueName(assert, description) {
return assert.test.module.name + ' | ' + assert.test.testName + ' | ' + description;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this, very nice!

}
Loading