Skip to content

Commit 625de27

Browse files
committed
Fix stage URLs in acceptance tests and update progress text in leaderboard test.
1 parent 05e24fe commit 625de27

5 files changed

+26
-25
lines changed

tests/acceptance/course-admin/view-feedback-test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ module('Acceptance | course-admin | view-feedback', function (hooks) {
4141
});
4242

4343
this.server.create('course-stage-feedback-submission', {
44-
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, slug: 'init' }),
44+
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, position: 1 }),
4545
language,
4646
repository,
4747
user,
@@ -51,7 +51,7 @@ module('Acceptance | course-admin | view-feedback', function (hooks) {
5151
});
5252

5353
this.server.create('course-stage-feedback-submission', {
54-
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, slug: 'init' }),
54+
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, position: 1 }),
5555
language,
5656
repository: other_repository,
5757
user: other_user,
@@ -81,7 +81,7 @@ module('Acceptance | course-admin | view-feedback', function (hooks) {
8181
});
8282

8383
this.server.create('course-stage-feedback-submission', {
84-
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, slug: 'init' }),
84+
courseStage: this.server.schema.courseStages.findBy({ courseId: course.id, position: 1 }),
8585
language,
8686
repository,
8787
user,

tests/acceptance/course-page/extensions/disable-extensions-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ module('Acceptance | course-page | extensions | disable-extensions', function (h
3333
assert.strictEqual(coursePage.sidebar.stepListItems.length, 8, 'step list has 8 items');
3434

3535
await coursePage.sidebar.clickOnStepListItem('Start with ext1');
36-
assert.strictEqual(currentURL(), '/courses/dummy/stages/ext1:1', 'current URL is /stages/ext1:1');
36+
assert.strictEqual(currentURL(), '/courses/dummy/stages/qh7', 'current URL is /stages/qh7');
3737

3838
await coursePage.sidebar.configureExtensionsToggles[0].click();
3939

tests/acceptance/course-page/extensions/enable-extensions-after-completion-test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ module('Acceptance | course-page | extensions | enable-extensions-after-completi
102102
await catalogPage.visit();
103103
await catalogPage.clickOnCourse('Build your own Dummy');
104104

105-
assert.strictEqual(currentURL(), '/courses/dummy/stages/ext1:1', 'current URL is first extension stage URL');
105+
assert.strictEqual(currentURL(), '/courses/dummy/stages/qh7', 'current URL is first extension stage URL');
106106

107107
// Disable Extension 2
108108
await coursePage.sidebar.configureExtensionsToggles[0].click();
@@ -132,6 +132,6 @@ module('Acceptance | course-page | extensions | enable-extensions-after-completi
132132
await coursePage.configureExtensionsModal.toggleExtension('Extension 2');
133133
await coursePage.configureExtensionsModal.clickOnCloseButton();
134134

135-
assert.strictEqual(currentURL(), '/courses/dummy/stages/ext2:1', 'current URL is next extension stage');
135+
assert.strictEqual(currentURL(), '/courses/dummy/stages/ae0', 'current URL is next extension stage');
136136
});
137137
});

tests/acceptance/course-page/extensions/view-extension-stages-test.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ module('Acceptance | course-page | extensions | view-extension-stages', function
2020
await catalogPage.clickOnCourse('Build your own Redis');
2121
await courseOverviewPage.clickOnStartCourse();
2222

23-
assert.strictEqual(coursePage.sidebar.stepListItems.length, 33, 'step list has 33 items');
23+
// Stages count (44) + 2 (introduction and repository setup)
24+
assert.strictEqual(coursePage.sidebar.stepListItems.length, 46, 'step list has 46 items');
2425

2526
await coursePage.sidebar.clickOnStepListItem('RDB file config');
26-
assert.strictEqual(currentURL(), '/courses/redis/stages/persistence-rdb:1', 'current URL is stage page URL');
27+
assert.strictEqual(currentURL(), '/courses/redis/stages/zg5', 'current URL is stage page URL');
2728
});
2829

2930
test('can view extension stages after creating repository', async function (assert) {
@@ -43,6 +44,6 @@ module('Acceptance | course-page | extensions | view-extension-stages', function
4344

4445
// View a stage from extension 2
4546
await coursePage.sidebar.clickOnStepListItem('Start with ext2');
46-
assert.strictEqual(currentURL(), '/courses/dummy/stages/ext2:1?repo=1', 'current URL is stage page URL');
47+
assert.strictEqual(currentURL(), '/courses/dummy/stages/ae0?repo=1', 'current URL is stage page URL');
4748
});
4849
});

tests/acceptance/course-page/view-leaderboard-test.js

+16-16
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
3232
assert.strictEqual(coursePage.leaderboard.entries.length, 1, '1 leaderboard entry should be present once course has started');
3333
assert.strictEqual(coursePage.leaderboard.entries[0].username, currentUser.username, 'leaderboard entry should correspond to current user');
3434
assert.ok(coursePage.leaderboard.entries[0].statusIsIdle, 'leaderboard entry should be idle until user pushes submission');
35-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 31', 'progress text must be shown');
35+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 44', 'progress text must be shown');
3636

3737
let repository = this.server.schema.repositories.find(1);
3838
repository.update({ lastSubmission: this.server.create('submission', { repository, status: 'evaluating' }) });
@@ -46,15 +46,15 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
4646
await settled();
4747

4848
assert.ok(coursePage.leaderboard.entries[0].statusIsIdle, 'leaderboard entry should be idle once submission is done evaluating');
49-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 31', 'progress text must still be 0 if first stage is not completed');
49+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 44', 'progress text must still be 0 if first stage is not completed');
5050

5151
repository.update({ lastSubmission: this.server.create('submission', { repository, status: 'evaluating' }) });
5252

5353
await Promise.all(window.pollerInstances.map((poller) => poller.forcePoll()));
5454
await settled();
5555

5656
assert.ok(coursePage.leaderboard.entries[0].statusIsActive, 'leaderboard entry should be active if new submission is present evaluating');
57-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 31', 'progress text must still be 0 if first stage is not completed');
57+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '0 / 44', 'progress text must still be 0 if first stage is not completed');
5858

5959
this.server.schema.submissions.find(2).update({ status: 'success' });
6060

@@ -67,7 +67,7 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
6767
await settled();
6868

6969
assert.ok(coursePage.leaderboard.entries[0].statusIsIdle, 'leaderboard entry should be idle after completing a stage');
70-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must still be 0 if first stage is not completed');
70+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must still be 0 if first stage is not completed');
7171
});
7272

7373
test('can view leaderboard on overview page when other recent players are present', async function (assert) {
@@ -99,15 +99,15 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
9999

100100
assert.strictEqual(coursePage.leaderboard.entries.length, 1, 'other entry should be shown');
101101
assert.strictEqual(coursePage.leaderboard.entries[0].username, otherUser.username, 'leaderboard entry should correspond to name from API');
102-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must be shown');
102+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must be shown');
103103

104104
await coursePage.createRepositoryCard.clickOnLanguageButton('Python');
105105

106106
assert.strictEqual(coursePage.leaderboard.entries.length, 2, '2 leaderboard entries should be present once course has started');
107107
assert.strictEqual(coursePage.leaderboard.entries[0].username, otherUser.username, 'leaderboard entry should be sorted by last attempt');
108-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must be shown');
108+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must be shown');
109109
assert.strictEqual(coursePage.leaderboard.entries[1].username, currentUser.username, 'leaderboard entries should be sorted by last attempt');
110-
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '0 / 31', 'progress text must be shown');
110+
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '0 / 44', 'progress text must be shown');
111111

112112
let repository = currentUser.reload().repositories.models[0];
113113
repository.update({
@@ -140,9 +140,9 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
140140

141141
assert.strictEqual(coursePage.leaderboard.entries.length, 2, '2 leaderboard entries should be present once other user has been passed');
142142
assert.strictEqual(coursePage.leaderboard.entries[0].username, currentUser.username, 'leaderboard entry should be sorted by last attempt');
143-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must be shown');
143+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must be shown');
144144
assert.strictEqual(coursePage.leaderboard.entries[1].username, otherUser.username, 'leaderboard entries should be sorted by last attempt');
145-
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 31', 'progress text must be shown');
145+
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 44', 'progress text must be shown');
146146
});
147147

148148
test('can view leaderboard when current user has leaderboard entry', async function (assert) {
@@ -180,18 +180,18 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
180180

181181
assert.strictEqual(coursePage.leaderboard.entries.length, 2, 'one entry for current user and one for other user should be shown');
182182
assert.strictEqual(coursePage.leaderboard.entries[0].username, otherUser.username, 'leaderboard entry should correspond to name from API');
183-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must be shown');
183+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must be shown');
184184
assert.strictEqual(coursePage.leaderboard.entries[1].username, currentUser.username, 'leaderboard entry should correspond to name from API');
185-
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 31', 'progress text must be shown');
185+
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 44', 'progress text must be shown');
186186

187187
await coursePage.repositoryDropdown.click();
188188
await coursePage.repositoryDropdown.clickOnAction('Try a different language');
189189

190190
assert.strictEqual(coursePage.leaderboard.entries.length, 2, 'one entry for current user and one for other user should be shown');
191191
assert.strictEqual(coursePage.leaderboard.entries[0].username, otherUser.username, 'leaderboard entry should correspond to name from API');
192-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 31', 'progress text must be shown');
192+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '1 / 44', 'progress text must be shown');
193193
assert.strictEqual(coursePage.leaderboard.entries[1].username, currentUser.username, 'leaderboard entry should correspond to name from API');
194-
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 31', 'progress text must be shown');
194+
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 44', 'progress text must be shown');
195195
});
196196

197197
test('can view leaderboard when current user has completed all stages', async function (assert) {
@@ -425,7 +425,7 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
425425
createdAt: new Date(2003),
426426
});
427427

428-
let replicationFirstStage = this.server.schema.courseStages.findBy({ slug: 'repl-custom-port' });
428+
let replicationFirstStage = this.server.schema.courseStages.findBy({ slug: 'bw1' });
429429

430430
this.server.create('submission', 'withStageCompletion', {
431431
repository: userRepository,
@@ -438,8 +438,8 @@ module('Acceptance | course-page | view-leaderboard', function (hooks) {
438438

439439
assert.strictEqual(coursePage.leaderboard.entries.length, 2, 'one entry for current user and one for other user should be shown');
440440
assert.strictEqual(coursePage.leaderboard.entries[0].username, currentUser.username, 'leaderboard entry should correspond to name from API');
441-
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '8 / 31', 'progress text must be shown');
441+
assert.strictEqual(coursePage.leaderboard.entries[0].progressText, '8 / 44', 'progress text must be shown');
442442
assert.strictEqual(coursePage.leaderboard.entries[1].username, otherUser.username, 'leaderboard entry should correspond to name from API');
443-
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 31', 'progress text must be shown');
443+
assert.strictEqual(coursePage.leaderboard.entries[1].progressText, '1 / 44', 'progress text must be shown');
444444
});
445445
});

0 commit comments

Comments
 (0)