Skip to content
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
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"ember-cli-mirage": "^0.3.4",
"ember-cli-moment-shim": "^3.4.0",
"ember-cli-neat": "^0.0.6",
"ember-cli-page-object": "1.13.0",
"ember-cli-page-object": "1.14.1",
"ember-cli-password-strength": "^2.0.0",
"ember-cli-qunit": "^4.1.1",
"ember-cli-release": "^0.2.9",
Expand Down
4 changes: 2 additions & 2 deletions tests/acceptance/admin-github-event-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ test('The page requires user to be admin', function(assert) {
page.visit({ id: event.id });

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error was rendered');
assert.equal(page.flashErrors.length, 1, 'Flash error was rendered');
assert.equal(currentRouteName(), 'projects-list', 'Got redirected');
});
});
Expand Down Expand Up @@ -67,7 +67,7 @@ test('Displays all the logged events', function(assert) {
});

andThen(function() {
assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
assert.equal(page.status.text, 'reprocessing', 'The event status changes');
});
});
46 changes: 23 additions & 23 deletions tests/acceptance/admin-github-events-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ test('The page requires user to be admin', function(assert) {
page.visit();

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error was rendered');
assert.equal(page.flashErrors.length, 1, 'Flash error was rendered');
assert.equal(currentRouteName(), 'projects-list', 'Got redirected');
});
});
Expand All @@ -42,26 +42,26 @@ test('Displays all the logged events', function(assert) {
andThen(function() {
assert.equal(currentURL(), '/admin/github/events');
assert.equal(currentRouteName(), 'admin.github-events.index');
assert.equal(page.logItems().count, 20, 'There are 20 log rows by default.');
assert.equal(page.logItems(0).action.text, githubEvents[0].action);
assert.equal(page.logItems(0).eventType.text, githubEvents[0].eventType);
assert.equal(page.logItems(0).failureReason.text, githubEvents[0].failureReason);
assert.equal(page.logItems(0).status.text, githubEvents[0].status);
assert.ok(page.logItems(0).time.isVisible);
assert.equal(page.logItems.length, 20, 'There are 20 log rows by default.');
assert.equal(page.logItems.objectAt(0).action.text, githubEvents[0].action);
assert.equal(page.logItems.objectAt(0).eventType.text, githubEvents[0].eventType);
assert.equal(page.logItems.objectAt(0).failureReason.text, githubEvents[0].failureReason);
assert.equal(page.logItems.objectAt(0).status.text, githubEvents[0].status);
assert.ok(page.logItems.objectAt(0).time.isVisible);
assert.ok(page.prev.isDisabled, 'Previous button is disabled.');
assert.notOk(page.next.isDisabled, 'Next button is not disabled.');
page.next.click();
});

andThen(function() {
assert.equal(page.logItems().count, 5, 'There are 5 log rows after navigating to the second page.');
assert.equal(page.logItems.length, 5, 'There are 5 log rows after navigating to the second page.');
assert.notOk(page.prev.isDisabled, 'Previous button is not disabled.');
assert.ok(page.next.isDisabled, 'Next button is disabled.');
page.prev.click();
});

andThen(function() {
assert.equal(page.logItems().count, 20, 'There are 20 log rows after navigating back.');
assert.equal(page.logItems.length, 20, 'There are 20 log rows after navigating back.');
assert.ok(page.prev.isDisabled, 'Previous button is disabled.');
assert.notOk(page.next.isDisabled, 'Next button is not disabled.');
});
Expand All @@ -79,38 +79,38 @@ test('Filters the logged events', function(assert) {
page.visit();

andThen(() => {
assert.equal(page.logItems().count, 2, 'There are 2 log rows by default.');
assert.equal(page.logItems.length, 2, 'There are 2 log rows by default.');
page.filterStatus.fillIn('errored');
assert.notOk(page.filterAction.isVisible, 'Action filter is not visible.');
});

andThen(() => {
assert.equal(page.logItems().count, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems(0).action.text, expectedEvent.action);
assert.equal(page.logItems(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems(0).status.text, expectedEvent.status);
assert.equal(page.logItems.length, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems.objectAt(0).action.text, expectedEvent.action);
assert.equal(page.logItems.objectAt(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems.objectAt(0).status.text, expectedEvent.status);
assert.notOk(page.filterAction.isVisible, 'Action filter is not visible.');
page.filterType.fillIn('issues');
});

andThen(() => {
assert.equal(page.logItems().count, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems(0).action.text, expectedEvent.action);
assert.equal(page.logItems(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems(0).status.text, expectedEvent.status);
assert.equal(page.logItems.length, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems.objectAt(0).action.text, expectedEvent.action);
assert.equal(page.logItems.objectAt(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems.objectAt(0).status.text, expectedEvent.status);
assert.ok(page.filterAction.isVisible, 'Action filter is visible.');
page.filterStatus.fillIn('opened');
});

andThen(() => {
assert.equal(page.logItems().count, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems(0).action.text, expectedEvent.action);
assert.equal(page.logItems(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems(0).status.text, expectedEvent.status);
assert.equal(page.logItems.length, 1, 'There are 1 log rows after filtering.');
assert.equal(page.logItems.objectAt(0).action.text, expectedEvent.action);
assert.equal(page.logItems.objectAt(0).eventType.text, expectedEvent.eventType);
assert.equal(page.logItems.objectAt(0).status.text, expectedEvent.status);
page.clear.click();
});

andThen(() => {
assert.equal(page.logItems().count, 2, 'All items are listed again after clearing filters.');
assert.equal(page.logItems.length, 2, 'All items are listed again after clearing filters.');
});
});
8 changes: 4 additions & 4 deletions tests/acceptance/admin-organization-invite-new-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ test('The page requires user to be admin', function(assert) {
page.visit();

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error was rendered');
assert.equal(page.flashErrors.length, 1, 'Flash error was rendered');
assert.equal(currentRouteName(), 'projects-list', 'Got redirected');
});
});
Expand All @@ -50,7 +50,7 @@ test('An admin can create and send an organization invite', function(assert) {

andThen(() => {
assert.equal(currentRouteName(), 'admin.organization-invites.index', 'We get redirected to the index');
assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
});
});

Expand Down Expand Up @@ -88,7 +88,7 @@ test('Sending an invite can fail with validation errors', function(assert) {
page.inviteForm.clickSubmit();
});

andThen(() => assert.equal(page.inviteForm.errors().count, 2));
andThen(() => assert.equal(page.inviteForm.errors.length, 2));
});

test('Sending an invite can fail with an unknown error', function(assert) {
Expand Down Expand Up @@ -120,7 +120,7 @@ test('Sending an invite can fail with an unknown error', function(assert) {
page.inviteForm.clickSubmit();
});

andThen(() => assert.equal(page.flashMessages().count, 1, 'A flash was displayed'));
andThen(() => assert.equal(page.flashMessages.length, 1, 'A flash was displayed'));
});

test('Navigation is successful if user answers positively to prompt', function(assert) {
Expand Down
50 changes: 25 additions & 25 deletions tests/acceptance/admin-organization-invites-index-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ test('The page requires user to be admin', function(assert) {
page.visit();

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error was rendered');
assert.equal(page.flashErrors.length, 1, 'Flash error was rendered');
assert.equal(currentRouteName(), 'projects-list', 'Got redirected');
});
});
Expand All @@ -47,32 +47,32 @@ test('Displays all the invites', function(assert) {
andThen(() => {
assert.equal(currentURL(), '/admin/organization-invites');
assert.equal(currentRouteName(), 'admin.organization-invites.index');
assert.equal(page.logItems().count, 3, 'There are 3 rows.');

assert.ok(page.logItems(0).icon.isVisible);
assert.equal(page.logItems(0).name.text, invites[0].organization.name);
assert.equal(page.logItems(0).email.text, invites[0].email);
assert.equal(page.logItems(0).approvalStatus.text, 'Pending approval');
assert.ok(page.logItems(0).actions.button.isVisible, 'The approve button renders');

assert.ok(page.logItems(1).icon.isVisible);
assert.equal(page.logItems(1).name.text, invites[1].organization.name);
assert.equal(page.logItems(1).email.text, invites[1].email);
assert.equal(page.logItems(1).approvalStatus.text, 'Approved');
assert.notOk(page.logItems(1).actions.button.isVisible, 'The approve button does not render');

assert.ok(page.logItems(2).icon.isVisible);
assert.equal(page.logItems(2).name.text, invites[2].organizationName);
assert.equal(page.logItems(2).email.text, invites[2].email);
assert.equal(page.logItems(2).approvalStatus.text, 'Invite sent');
assert.notOk(page.logItems(2).actions.button.isVisible, 'The approve button does not render');

page.logItems(0).actions.button.click();
assert.equal(page.logItems.length, 3, 'There are 3 rows.');

assert.ok(page.logItems.objectAt(0).icon.isVisible);
assert.equal(page.logItems.objectAt(0).name.text, invites[0].organization.name);
assert.equal(page.logItems.objectAt(0).email.text, invites[0].email);
assert.equal(page.logItems.objectAt(0).approvalStatus.text, 'Pending approval');
assert.ok(page.logItems.objectAt(0).actions.button.isVisible, 'The approve button renders');

assert.ok(page.logItems.objectAt(1).icon.isVisible);
assert.equal(page.logItems.objectAt(1).name.text, invites[1].organization.name);
assert.equal(page.logItems.objectAt(1).email.text, invites[1].email);
assert.equal(page.logItems.objectAt(1).approvalStatus.text, 'Approved');
assert.notOk(page.logItems.objectAt(1).actions.button.isVisible, 'The approve button does not render');

assert.ok(page.logItems.objectAt(2).icon.isVisible);
assert.equal(page.logItems.objectAt(2).name.text, invites[2].organizationName);
assert.equal(page.logItems.objectAt(2).email.text, invites[2].email);
assert.equal(page.logItems.objectAt(2).approvalStatus.text, 'Invite sent');
assert.notOk(page.logItems.objectAt(2).actions.button.isVisible, 'The approve button does not render');

page.logItems.objectAt(0).actions.button.click();
});

andThen(() => {
assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.logItems(0).approvalStatus.text, 'Approved');
assert.notOk(page.logItems(0).actions.button.isVisible, 'The approve button does not render');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
assert.equal(page.logItems.objectAt(0).approvalStatus.text, 'Approved');
assert.notOk(page.logItems.objectAt(0).actions.button.isVisible, 'The approve button does not render');
});
});
28 changes: 14 additions & 14 deletions tests/acceptance/admin-projects-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ test('The page requires user to be admin', function(assert) {
page.visit();

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error was rendered');
assert.equal(page.flashErrors.length, 1, 'Flash error was rendered');
assert.equal(currentRouteName(), 'projects-list', 'Got redirected');
});
});
Expand All @@ -51,21 +51,21 @@ test('An admin can view a list of projects', function(assert) {
assert.equal(currentURL(), '/admin/projects');
assert.equal(currentRouteName(), 'admin.projects.index');

assert.equal(page.items().count, 3, 'There are 3 rows.');
assert.equal(page.items.length, 3, 'There are 3 rows.');

[unapprovedProject, projectPendingApproval, approvedProject].forEach((project, index) => {
assert.equal(page.items(index).title.text, project.title, 'Project title is rendered.');
assert.equal(page.items(index).icon.src, project.iconThumbUrl, 'Project icon is rendered.');
assert.equal(page.items.objectAt(index).title.text, project.title, 'Project title is rendered.');
assert.equal(page.items.objectAt(index).icon.src, project.iconThumbUrl, 'Project icon is rendered.');
});

assert.equal(page.items(0).approvalStatus.text, 'Created', 'Correct status is rendered for newly created project.');
assert.notOk(page.items(0).actions.approve.isVisible, 'Approve button is not rendered for newly created project.');
assert.equal(page.items.objectAt(0).approvalStatus.text, 'Created', 'Correct status is rendered for newly created project.');
assert.notOk(page.items.objectAt(0).actions.approve.isVisible, 'Approve button is not rendered for newly created project.');

assert.equal(page.items(1).approvalStatus.text, 'Pending approval', 'Correct status is rendered for project pending approval.');
assert.ok(page.items(1).actions.approve.isVisible, 'Approve button is rendered for project pending approval.');
assert.equal(page.items.objectAt(1).approvalStatus.text, 'Pending approval', 'Correct status is rendered for project pending approval.');
assert.ok(page.items.objectAt(1).actions.approve.isVisible, 'Approve button is rendered for project pending approval.');

assert.equal(page.items(2).approvalStatus.text, 'Approved', 'Correct status is rendered for approved project.');
assert.notOk(page.items(2).actions.approve.isVisible, 'Approve button is not rendered for approved project');
assert.equal(page.items.objectAt(2).approvalStatus.text, 'Approved', 'Correct status is rendered for approved project.');
assert.notOk(page.items.objectAt(2).actions.approve.isVisible, 'Approve button is not rendered for approved project');
});
});

Expand All @@ -80,12 +80,12 @@ test('An admin can approve a project', function(assert) {
page.visit();

andThen(() => {
page.items(0).actions.approve.click();
page.items.objectAt(0).actions.approve.click();
});

andThen(() => {
assert.ok(unapprovedProject.approved, 'Project is approved.');
assert.equal(page.items(0).approvalStatus.text, 'Approved', 'Project status is rendered correctly.');
assert.equal(page.items.objectAt(0).approvalStatus.text, 'Approved', 'Project status is rendered correctly.');
});
});

Expand Down Expand Up @@ -115,10 +115,10 @@ test('A flash error renders when project approval fails', function(assert) {
});

andThen(() => {
page.items(0).actions.approve.click();
page.items.objectAt(0).actions.approve.click();
});

andThen(() => {
assert.equal(page.flashErrors().count, 1, 'Flash error is rendered.');
assert.equal(page.flashErrors.length, 1, 'Flash error is rendered.');
});
});
2 changes: 1 addition & 1 deletion tests/acceptance/admin-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ test('Redirects when not an admin', function(assert) {

andThen(() => {
assert.equal(currentRouteName(), 'projects-list');
assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
});
});

Expand Down
10 changes: 5 additions & 5 deletions tests/acceptance/footer-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ test('can visit links from footer on index', function(assert) {
indexPage.visit();

andThen(function() {
assert.equal(indexPage.siteFooter.columns().count, 4);
assert.equal(indexPage.siteFooter.columns.length, 4);
indexPage.siteFooter.clickAboutLink();
});

Expand All @@ -34,8 +34,8 @@ test('renders horizontal on smaller screens', function(assert) {
});

andThen(function() {
assert.equal(indexPage.siteFooter.columns().count, 0);
assert.equal(indexPage.siteFooter.rows().count, 6);
assert.equal(indexPage.siteFooter.columns.length, 0);
assert.equal(indexPage.siteFooter.rows.length, 6);
});
});

Expand All @@ -45,7 +45,7 @@ test('renders horizontal on most pages', function(assert) {
setBreakpoint('full');

andThen(function() {
assert.equal(indexPage.siteFooter.columns().count, 0);
assert.equal(indexPage.siteFooter.rows().count, 6);
assert.equal(indexPage.siteFooter.columns.length, 0);
assert.equal(indexPage.siteFooter.rows.length, 6);
});
});
4 changes: 2 additions & 2 deletions tests/acceptance/github-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ test('if state is invalid, goes back to ingtegrations page with a flash error',
'User was redirected back to integrations.'
);

assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
});
});

Expand Down Expand Up @@ -93,6 +93,6 @@ test('if connect request fails, redirects to integrations with a flash error', f
'User was redirected to the integrations page.'
);

assert.equal(page.flashMessages().count, 1, 'A flash was displayed');
assert.equal(page.flashMessages.length, 1, 'A flash was displayed');
});
});
4 changes: 2 additions & 2 deletions tests/acceptance/login-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ test('Login failure', function(assert) {
});

andThen(() => {
assert.equal(loginPage.form.errors().count, 1, 'One error is shown');
assert.equal(loginPage.form.errors(0).text, ERROR_TEXT, 'Page contains login error');
assert.equal(loginPage.form.errors.length, 1, 'One error is shown');
assert.equal(loginPage.form.errors.objectAt(0).text, ERROR_TEXT, 'Page contains login error');
});
});

Expand Down
2 changes: 1 addition & 1 deletion tests/acceptance/navigation-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ test('Logged in, user with organizations can navigate to projects', function(ass
indexPage.navMenu.projectSwitcher.menuLink.click();
});
andThen(function() {
indexPage.navMenu.projectSwitcher.projectSwitcherMenu.menu.projects(0).icon.click();
indexPage.navMenu.projectSwitcher.projectSwitcherMenu.menu.projects.objectAt(0).icon.click();
});
andThen(function() {
assert.equal(currentRouteName(), 'project.index');
Expand Down
Loading