-
- {{#if this.model.allowUpdates}}
-
- {{/if}}
{{t 'registries.moderation.states.withdrawn'}}
-
{{!-- TODO: add pending count in Submissions and Withdrawals tab --}}
- {{#let 'registries.branded.moderation.submissions' as |submissionsRoute|}}
-
+ {{#let 'registries.branded.moderation.submitted' as |submittedRoute|}}
+
- {{t 'registries.moderation.submissions.title'}}
+ {{t 'registries.moderation.submitted.title'}}
+
+
+ {{/let}}
+ {{#let 'registries.branded.moderation.pending' as |pendingRoute|}}
+
+
+ {{t 'registries.moderation.pending.title'}}
{{/let}}
diff --git a/lib/registries/addon/components/make-decision-dropdown/component.ts b/lib/registries/addon/components/make-decision-dropdown/component.ts
index 7b216f9d6ed..858f7714357 100644
--- a/lib/registries/addon/components/make-decision-dropdown/component.ts
+++ b/lib/registries/addon/components/make-decision-dropdown/component.ts
@@ -139,7 +139,7 @@ export default class MakeDecisionDropdown extends Component {
this.toast.success(this.intl.t('registries.makeDecisionDropdown.success'));
if (this.decisionTrigger === ReviewActionTrigger.RejectSubmission) {
this.router.transitionTo(
- 'registries.branded.moderation.submissions',
+ 'registries.branded.moderation.submitted',
this.args.registration.provider.get('id'),
{ queryParams: { state: RegistrationReviewStates.Rejected } },
);
diff --git a/lib/registries/addon/routes.ts b/lib/registries/addon/routes.ts
index 13ee8b1b0b5..2b90429f7f0 100644
--- a/lib/registries/addon/routes.ts
+++ b/lib/registries/addon/routes.ts
@@ -7,7 +7,8 @@ export default buildRoutes(function() {
this.route('discover');
this.route('new');
this.route('moderation', function() {
- this.route('submissions');
+ this.route('submitted');
+ this.route('pending');
this.route('moderators');
this.route('settings');
});
diff --git a/tests/engines/registries/acceptance/branded/moderation/pending-test.ts b/tests/engines/registries/acceptance/branded/moderation/pending-test.ts
new file mode 100644
index 00000000000..c6bfb2f5800
--- /dev/null
+++ b/tests/engines/registries/acceptance/branded/moderation/pending-test.ts
@@ -0,0 +1,215 @@
+import { click, currentRouteName, currentURL } from '@ember/test-helpers';
+import { ModelInstance } from 'ember-cli-mirage';
+import { setupMirage } from 'ember-cli-mirage/test-support';
+import { percySnapshot } from 'ember-percy';
+import { TestContext } from 'ember-test-helpers';
+import { module, test } from 'qunit';
+
+import { RegistrationReviewStates } from 'ember-osf-web/models/registration';
+import RegistrationProviderModel from 'ember-osf-web/models/registration-provider';
+import { visit } from 'ember-osf-web/tests/helpers';
+import { setupEngineApplicationTest } from 'ember-osf-web/tests/helpers/engines';
+import { RevisionReviewStates } from 'ember-osf-web/models/schema-response';
+
+interface ModerationPendingTestContext extends TestContext {
+ registrationProvider: ModelInstance;
+}
+
+module('Registries | Acceptance | branded.moderation | pending', hooks => {
+ setupEngineApplicationTest(hooks, 'registries');
+ setupMirage(hooks);
+
+ hooks.beforeEach(function(this: ModerationPendingTestContext) {
+ this.registrationProvider = server.create('registration-provider', { id: 'sbmit' });
+ });
+
+ test('logged out users are rerouted', async assert => {
+ await visit('/registries/sbmit/moderation/pending');
+ assert.equal(currentRouteName(), 'registries.page-not-found', 'Logged out users are rerouted');
+ });
+
+ test('logged in, non-moderators are rerouted', async assert => {
+ server.create('user', 'loggedIn');
+ await visit('/registries/sbmit/moderation/pending');
+ assert.equal(currentRouteName(), 'registries.page-not-found', 'Non-moderators are rerouted');
+ });
+
+ test('Pending: no updates allowed', async function(this: ModerationPendingTestContext, assert) {
+ this.registrationProvider.update({ allowUpdates: false, permissions: ['view_submissions'] });
+ const currentUser = server.create('user', 'loggedIn');
+ server.create('moderator', {
+ id: currentUser.id,
+ user: currentUser,
+ provider: this.registrationProvider,
+ }, 'asModerator');
+ await visit('/registries/sbmit/moderation/pending');
+ await percySnapshot('moderation pending page: updates not allowed');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.pending',
+ 'On the pending page of registries reviews');
+
+ assert.dom('[data-test-submissions-type="pending"]').exists('pending tab shown');
+ assert.dom('[data-test-submissions-type="pending-withdraw"]').exists('pending withdraw tab shown');
+ assert.dom('[data-test-submissions-type="revision-pending"]')
+ .doesNotExist('pending revisions tab not shown');
+ });
+
+ test('Pending: no registrations', async function(this: ModerationPendingTestContext, assert) {
+ this.registrationProvider.update({ permissions: ['view_submissions'] });
+ const currentUser = server.create('user', 'loggedIn');
+ server.create('moderator', {
+ id: currentUser.id,
+ user: currentUser,
+ provider: this.registrationProvider,
+ }, 'asModerator');
+ await visit('/registries/sbmit/moderation/pending');
+ await percySnapshot('moderation pending page: no registrations');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.pending',
+ 'On the pending page of registries reviews');
+
+ // Pending tab
+ assert.ok(currentURL().includes('state=pending'), 'Default state is pending');
+ assert.dom('[data-test-submissions-type="pending"][data-test-is-selected="true"]')
+ .exists('Pending is selected by default for pending page');
+ assert.dom('[data-test-registration-list-card]')
+ .doesNotExist('No cards shown for pending registrations');
+ assert.dom('[data-test-registration-list-none]').containsText(
+ 'No registrations pending approval have been found',
+ 'Proper message is shown when no pending registrations found',
+ );
+
+ // Pending revision tab
+ await click('[data-test-submissions-type="revision-pending"]');
+ assert.ok(currentURL().includes('state=pending_moderation'), 'query param set to pending revision');
+ assert.dom('[data-test-submissions-type="revision-pending"][data-test-is-selected="true"]')
+ .exists('Pending revisions has been selected');
+ assert.dom('[data-test-registration-list-card]')
+ .doesNotExist('No cards shown for pending revisions');
+ assert.dom('[data-test-registration-list-none]').containsText(
+ 'No registrations found with updates pending',
+ 'Proper message is shown when no pending revisions found',
+ );
+
+ // Pending Withdrawal tab
+ await click('[data-test-submissions-type="pending-withdraw"]');
+ assert.ok(currentURL().includes('state=pending_withdraw'), 'query param set to pending withdraw');
+ assert.dom('[data-test-submissions-type="pending-withdraw"][data-test-is-selected="true"]')
+ .exists('Pending withdraw tab has been selected');
+ assert.dom('[data-test-registration-list-card]')
+ .doesNotExist('No cards shown for pending withdrawals');
+ assert.dom('[data-test-registration-list-none]').containsText('No registrations found pending withdrawal',
+ 'Proper message is shown when no registrations pending withdrawal found');
+ });
+
+ test('Pending: many registrations', async function(this: ModerationPendingTestContext, assert) {
+ server.createList(
+ 'registration', 12, {
+ reviewsState: RegistrationReviewStates.Pending, provider: this.registrationProvider,
+ }, 'withReviewActions',
+ );
+ const acceptedReg = server.create(
+ 'registration', {
+ reviewsState: RegistrationReviewStates.Accepted,
+ revisionState: RevisionReviewStates.RevisionPendingModeration,
+ provider: this.registrationProvider,
+ },
+ );
+ server.create('schemaResponse', { registration: acceptedReg }, 'withSchemaResponseActions');
+ server.createList(
+ 'registration', 2, {
+ reviewsState: RegistrationReviewStates.PendingWithdraw, provider: this.registrationProvider,
+ },
+ );
+ this.registrationProvider.update({ permissions: ['view_submissions'] });
+ const currentUser = server.create('user', 'loggedIn');
+ server.create('moderator', {
+ id: currentUser.id,
+ user: currentUser,
+ provider: this.registrationProvider,
+ }, 'asAdmin');
+ await visit('/registries/sbmit/moderation/pending');
+ await percySnapshot('moderation pending page: many registrations');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.pending',
+ 'On the pending page of registries reviews');
+
+ // Pending tab
+ assert.ok(currentURL().includes('state=pending'), 'Default state is pending');
+ assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
+ assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
+ assert.dom('[data-test-registration-list-card]').exists({ count: 10 }, '10 pending registrations shown');
+ assert.dom('[data-test-registration-list-card-icon="pending"]').exists({ count: 10 }, 'Proper icons shown');
+ assert.dom('[data-test-registration-list-card-title]').exists({ count: 10 }, 'Title shown');
+ assert.dom('[data-test-registration-list-card-latest-action]').exists({ count: 10 }, 'Latest actions shown');
+ assert.dom('[data-test-next-page-button]').exists('Pagination shown');
+ await click('[data-test-next-page-button]');
+ assert.dom('[data-test-next-page-button]').hasAttribute('disabled');
+ assert.dom('[data-test-registration-list-card]').exists({ count: 2 }, '2 more pending registrations shown');
+ assert.dom('[data-test-registration-card-toggle-actions]')
+ .exists({ count: 2 }, 'Toggle to show more review actions');
+ const toggleActions = this.element.querySelectorAll('[data-test-registration-card-toggle-actions]');
+ await click(toggleActions[0]);
+ assert.dom('[data-test-registration-list-card-more-actions]')
+ .exists({ count: 2 }, 'More actions shown after clicking the toggler');
+
+ // Pending revision tab
+ await click('[data-test-submissions-type="revision-pending"]');
+ assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
+ assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
+ assert.dom('[data-test-registration-list-card]').exists({ count: 1 }, '1 pending revision registrations shown');
+ assert.dom('[data-test-registration-list-card-icon="pending_moderation"]')
+ .exists({ count: 1 }, 'Proper icons shown');
+ assert.dom('[data-test-registration-list-card-title]').exists({ count: 1 }, 'Title shown');
+ assert.dom('[data-test-registration-list-card-latest-action]')
+ .exists({ count: 1 }, 'Latest schema response action shown');
+ assert.dom('[data-test-registration-card-toggle-actions]')
+ .exists({ count: 1}, 'Toggle to show more revision actions');
+ assert.dom('[data-test-next-page-button]').doesNotExist('No pagination shown');
+
+ // Pending Withdrawal tab
+ await click('[data-test-submissions-type="pending-withdraw"]');
+ assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
+ assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
+ assert.dom('[data-test-registration-list-card]')
+ .exists({ count: 2 }, '2 registrations pending withdrawal shown');
+ assert.dom('[data-test-registration-list-card-icon="pending_withdraw"]')
+ .exists({ count: 2 }, 'Proper icons shown');
+ assert.dom('[data-test-registration-list-card-title]').exists({ count: 2 }, 'Title shown');
+ assert.dom('[data-test-no-actions-found]').exists({ count: 2 }, 'No actions found');
+ assert.dom('[data-test-next-page-button]').doesNotExist('No pagination shown');
+ await click('[data-test-registration-list-card-title]>a');
+ assert.equal(currentRouteName(), 'registries.overview.index',
+ 'Clicking the registration title from moderation takes moderators to the overview page');
+ assert.ok(currentURL().includes('mode=moderator'), 'Mode query param set to moderator');
+ });
+
+ test('Submissions page: queryParams', async function(this: ModerationPendingTestContext, assert) {
+ this.registrationProvider.update({ permissions: ['view_submissions'] });
+ const currentUser = server.create('user', 'loggedIn');
+ server.create('moderator', {
+ id: currentUser.id,
+ user: currentUser,
+ provider: this.registrationProvider,
+ }, 'asModerator');
+ await visit('/registries/sbmit/moderation/pending?state=pending_moderation');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.pending',
+ 'On the pending page of registries reviews');
+ assert.ok(currentURL()
+ .includes('state=pending_moderation'), 'current URL contains the state query param set');
+ assert.dom('[data-test-is-selected="true"]').hasText('Pending Updates', 'Updates tab selected');
+ });
+
+ test('Submissions page: invalid queryParam', async function(this: ModerationPendingTestContext, assert) {
+ this.registrationProvider.update({ permissions: ['view_submissions'] });
+ const currentUser = server.create('user', 'loggedIn');
+ server.create('moderator', {
+ id: currentUser.id,
+ user: currentUser,
+ provider: this.registrationProvider,
+ }, 'asModerator');
+ await visit('/registries/sbmit/moderation/pending?state=donkey_kong');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.pending',
+ 'On the pending page of registries reviews');
+ assert.notOk(currentURL().includes('state=donkey_kong'), 'Invalid query param is gone');
+ assert.ok(currentURL().includes('state=pending'), 'Invalid query param replaced with pending');
+ assert.dom('[data-test-is-selected="true"]').hasText('Pending', 'Pending tab selected');
+ });
+});
diff --git a/tests/engines/registries/acceptance/branded/moderation/submissions-test.ts b/tests/engines/registries/acceptance/branded/moderation/submitted-test.ts
similarity index 63%
rename from tests/engines/registries/acceptance/branded/moderation/submissions-test.ts
rename to tests/engines/registries/acceptance/branded/moderation/submitted-test.ts
index 1b755950299..77c747cba1c 100644
--- a/tests/engines/registries/acceptance/branded/moderation/submissions-test.ts
+++ b/tests/engines/registries/acceptance/branded/moderation/submitted-test.ts
@@ -10,30 +10,30 @@ import RegistrationProviderModel from 'ember-osf-web/models/registration-provide
import { visit } from 'ember-osf-web/tests/helpers';
import { setupEngineApplicationTest } from 'ember-osf-web/tests/helpers/engines';
-interface ModerationSubmissionsTestContext extends TestContext {
+interface ModerationSubmittedTestContext extends TestContext {
registrationProvider: ModelInstance;
}
-module('Registries | Acceptance | branded.moderation | submissions', hooks => {
+module('Registries | Acceptance | branded.moderation | submitted', hooks => {
setupEngineApplicationTest(hooks, 'registries');
setupMirage(hooks);
- hooks.beforeEach(function(this: ModerationSubmissionsTestContext) {
+ hooks.beforeEach(function(this: ModerationSubmittedTestContext) {
this.registrationProvider = server.create('registration-provider', { id: 'sbmit' });
});
test('logged out users are rerouted', async assert => {
- await visit('/registries/sbmit/moderation/submissions');
+ await visit('/registries/sbmit/moderation/submitted');
assert.equal(currentRouteName(), 'registries.page-not-found', 'Logged out users are rerouted');
});
test('logged in, non-moderators are rerouted', async assert => {
server.create('user', 'loggedIn');
- await visit('/registries/sbmit/moderation/submissions');
+ await visit('/registries/sbmit/moderation/submitted');
assert.equal(currentRouteName(), 'registries.page-not-found', 'Non-moderators are rerouted');
});
- test('Submissions pending: no registrations', async function(this: ModerationSubmissionsTestContext, assert) {
+ test('Submitted: no registrations', async function(this: ModerationSubmittedTestContext, assert) {
this.registrationProvider.update({ permissions: ['view_submissions'] });
const currentUser = server.create('user', 'loggedIn');
server.create('moderator', {
@@ -41,24 +41,13 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
user: currentUser,
provider: this.registrationProvider,
}, 'asModerator');
- await visit('/registries/sbmit/moderation/submissions');
- await percySnapshot('moderation submissions page: no registrations');
- assert.equal(currentRouteName(), 'registries.branded.moderation.submissions',
- 'On the submissions page of registries reviews');
-
- // Pending tab
- assert.ok(currentURL().includes('state=pending'), 'Default state is pending');
- assert.dom('[data-test-submissions-type="pending"][data-test-is-selected="true"]')
- .exists('Pending is selected by default for submissions page');
- assert.dom('[data-test-registration-list-card]')
- .doesNotExist('No cards shown for pending submissions');
- assert.dom('[data-test-registration-list-none]').containsText(
- 'No registrations pending approval have been found',
- 'Proper message is shown when no pending registrations found',
- );
+ await visit('/registries/sbmit/moderation/submitted');
+ await percySnapshot('moderation submitted page: no registrations');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.submitted',
+ 'On the submitted page of registries reviews');
// Accepted tab
- await click('[data-test-submissions-type="accepted"]');
+ assert.ok(currentURL().includes('state=accepted'), 'Default state is accepted');
assert.ok(currentURL().includes('state=accepted'), 'query param set to accepted');
assert.dom('[data-test-submissions-type="accepted"][data-test-is-selected="true"]')
.exists('Accepted tab has been selected');
@@ -96,29 +85,14 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
.doesNotExist('No cards shown for withdrawn submissions');
assert.dom('[data-test-registration-list-none]').containsText('No withdrawn registrations have been found',
'Proper message is shown when no withdrawn registrations found');
-
- // Pending Withdrawal tab
- await click('[data-test-submissions-type="pending-withdraw"]');
- assert.ok(currentURL().includes('state=pending_withdraw'), 'query param set to pending withdraw');
- assert.dom('[data-test-submissions-type="pending-withdraw"][data-test-is-selected="true"]')
- .exists('Pending withdraw tab has been selected');
- assert.dom('[data-test-registration-list-card]')
- .doesNotExist('No cards shown for pending withdrawal submissions');
- assert.dom('[data-test-registration-list-none]').containsText('No registrations found pending withdrawal',
- 'Proper message is shown when no registrations pending withdrawal found');
});
- test('Submissions pending: many registrations', async function(this: ModerationSubmissionsTestContext, assert) {
+ test('Submitted: many registrations', async function(this: ModerationSubmittedTestContext, assert) {
server.createList(
'registration', 12, {
- reviewsState: RegistrationReviewStates.Pending, provider: this.registrationProvider,
- }, 'withReviewActions',
- );
- server.createList(
- 'registration', 2, {
reviewsState: RegistrationReviewStates.Accepted,
provider: this.registrationProvider,
- }, 'withSingleReviewAction',
+ }, 'withReviewActions',
);
server.createList(
'registration', 5, {
@@ -135,11 +109,6 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
reviewsState: RegistrationReviewStates.Withdrawn, provider: this.registrationProvider,
},
);
- server.createList(
- 'registration', 2, {
- reviewsState: RegistrationReviewStates.PendingWithdraw, provider: this.registrationProvider,
- },
- );
this.registrationProvider.update({ permissions: ['view_submissions'] });
const currentUser = server.create('user', 'loggedIn');
server.create('moderator', {
@@ -147,23 +116,23 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
user: currentUser,
provider: this.registrationProvider,
}, 'asAdmin');
- await visit('/registries/sbmit/moderation/submissions');
- await percySnapshot('moderation submissions page: many registrations');
- assert.equal(currentRouteName(), 'registries.branded.moderation.submissions',
- 'On the submissions page of registries reviews');
+ await visit('/registries/sbmit/moderation/submitted');
+ await percySnapshot('moderation submitted page: many registrations');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.submitted',
+ 'On the submitted page of registries reviews');
- // Pending tab
- assert.ok(currentURL().includes('state=pending'), 'Default state is pending');
+ // Accepted tab
+ assert.ok(currentURL().includes('state=accepted'), 'Default state is accepted');
assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
- assert.dom('[data-test-registration-list-card]').exists({ count: 10 }, '10 pending registrations shown');
- assert.dom('[data-test-registration-list-card-icon="pending"]').exists({ count: 10 }, 'Proper icons shown');
+ assert.dom('[data-test-registration-list-card]').exists({ count: 10 }, '10 accepted registrations shown');
+ assert.dom('[data-test-registration-list-card-icon="accepted"]').exists({ count: 10 }, 'Proper icons shown');
assert.dom('[data-test-registration-list-card-title]').exists({ count: 10 }, 'Title shown');
assert.dom('[data-test-registration-list-card-latest-action]').exists({ count: 10 }, 'Latest action shown');
assert.dom('[data-test-next-page-button]').exists('Pagination shown');
await click('[data-test-next-page-button]');
assert.dom('[data-test-next-page-button]').hasAttribute('disabled');
- assert.dom('[data-test-registration-list-card]').exists({ count: 2 }, '2 more pending registrations shown');
+ assert.dom('[data-test-registration-list-card]').exists({ count: 2 }, '2 more accepted registrations shown');
assert.dom('[data-test-registration-card-toggle-actions]')
.exists({ count: 2 }, 'Toggle to show more review actions');
const toggleActions = this.element.querySelectorAll('[data-test-registration-card-toggle-actions]');
@@ -171,18 +140,6 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
assert.dom('[data-test-registration-list-card-more-actions]')
.exists({ count: 2 }, 'More actions shown after clicking the toggler');
- // Accepted tab
- await click('[data-test-submissions-type="accepted"]');
- assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
- assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
- assert.dom('[data-test-registration-list-card]').exists({ count: 2 }, '2 accepted registrations shown');
- assert.dom('[data-test-registration-list-card-icon="accepted"]').exists({ count: 2 }, 'Proper icons shown');
- assert.dom('[data-test-registration-list-card-title]').exists({ count: 2 }, 'Title shown');
- assert.dom('[data-test-registration-list-card-latest-action]').exists({ count: 2 }, 'Latest action shown');
- assert.dom('[data-test-registration-card-toggle-actions]')
- .doesNotExist('No toggle to show more review actions');
- assert.dom('[data-test-next-page-button]').doesNotExist('No pagination shown');
-
// Embargo tab
await click('[data-test-submissions-type="embargo"]');
assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
@@ -214,25 +171,9 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
assert.dom('[data-test-registration-list-card-title]').exists({ count: 4 }, 'Title shown');
assert.dom('[data-test-no-actions-found]').exists({ count: 4 }, 'No actions found');
assert.dom('[data-test-next-page-button]').doesNotExist('No pagination shown');
-
- // Pending Withdrawal tab
- await click('[data-test-submissions-type="pending-withdraw"]');
- assert.dom('[data-test-ascending-sort]').exists({ count: 1 }, 'Ascending sort button exists');
- assert.dom('[data-test-descending-sort]').exists({ count: 1 }, 'Descending sort button exists');
- assert.dom('[data-test-registration-list-card]')
- .exists({ count: 2 }, '2 registrations pending withdrawal shown');
- assert.dom('[data-test-registration-list-card-icon="pending_withdraw"]')
- .exists({ count: 2 }, 'Proper icons shown');
- assert.dom('[data-test-registration-list-card-title]').exists({ count: 2 }, 'Title shown');
- assert.dom('[data-test-no-actions-found]').exists({ count: 2 }, 'No actions found');
- assert.dom('[data-test-next-page-button]').doesNotExist('No pagination shown');
- await click('[data-test-registration-list-card-title]>a');
- assert.equal(currentRouteName(), 'registries.overview.index',
- 'Clicking the registration title from moderation takes moderators to the overview page');
- assert.ok(currentURL().includes('mode=moderator'), 'Mode query param set to moderator');
});
- test('Submissions page: queryParams', async function(this: ModerationSubmissionsTestContext, assert) {
+ test('Submitted page: queryParams', async function(this: ModerationSubmittedTestContext, assert) {
this.registrationProvider.update({ permissions: ['view_submissions'] });
const currentUser = server.create('user', 'loggedIn');
server.create('moderator', {
@@ -240,14 +181,14 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
user: currentUser,
provider: this.registrationProvider,
}, 'asModerator');
- await visit('/registries/sbmit/moderation/submissions?state=embargo');
- assert.equal(currentRouteName(), 'registries.branded.moderation.submissions',
- 'On the submissions page of registries reviews');
+ await visit('/registries/sbmit/moderation/submitted?state=embargo');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.submitted',
+ 'On the submitted page of registries reviews');
assert.ok(currentURL().includes('state=embargo'), 'current URL contains the state query param set');
assert.dom('[data-test-is-selected="true"]').hasText('Embargo', 'embargo tab selected');
});
- test('Submissions page: invalid queryParam', async function(this: ModerationSubmissionsTestContext, assert) {
+ test('Submitted page: invalid queryParam', async function(this: ModerationSubmittedTestContext, assert) {
this.registrationProvider.update({ permissions: ['view_submissions'] });
const currentUser = server.create('user', 'loggedIn');
server.create('moderator', {
@@ -255,13 +196,11 @@ module('Registries | Acceptance | branded.moderation | submissions', hooks => {
user: currentUser,
provider: this.registrationProvider,
}, 'asModerator');
- await visit('/registries/sbmit/moderation/submissions?state=embargooooo');
- assert.equal(currentRouteName(), 'registries.branded.moderation.submissions',
- 'On the submissions page of registries reviews');
+ await visit('/registries/sbmit/moderation/submitted?state=embargooooo');
+ assert.equal(currentRouteName(), 'registries.branded.moderation.submitted',
+ 'On the submitted page of registries reviews');
assert.notOk(currentURL().includes('state=embargooooo'), 'Invalid query param is gone');
- assert.ok(currentURL().includes('state=pending'), 'Invalid query param replaced with pending');
- assert.dom('[data-test-is-selected="true"]').hasText('Pending', 'Pending tab selected');
+ assert.ok(currentURL().includes('state=accepted'), 'Invalid query param replaced with accepted');
+ assert.dom('[data-test-is-selected="true"]').hasText('Public', 'Accepted tab selected');
});
-
- // TODO: Update with new tabs
});
diff --git a/tests/engines/registries/acceptance/overview/moderator-mode-test.ts b/tests/engines/registries/acceptance/overview/moderator-mode-test.ts
index f0b4ea8f065..4c4eadf7853 100644
--- a/tests/engines/registries/acceptance/overview/moderator-mode-test.ts
+++ b/tests/engines/registries/acceptance/overview/moderator-mode-test.ts
@@ -95,8 +95,8 @@ module('Registries | Acceptance | overview.moderator-mode', hooks => {
await click('[data-test-moderation-dropdown-submit]');
assert.equal(
currentRouteName(),
- 'registries.branded.moderation.submissions',
- 'Redirected to the submissions page',
+ 'registries.branded.moderation.submitted',
+ 'Redirected to the submitted page',
);
assert.dom(
'[data-test-submissions-type="rejected"][data-test-is-selected="true"]',
diff --git a/tests/integration/components/registries/registration-list/card/component-test.ts b/tests/integration/components/registries/registration-list/card/component-test.ts
index 593886b10a5..5eee2338542 100644
--- a/tests/integration/components/registries/registration-list/card/component-test.ts
+++ b/tests/integration/components/registries/registration-list/card/component-test.ts
@@ -130,11 +130,11 @@ module('Registries | Integration | Component | registration-list-card', hooks =>
await render(hbs`
`);
await a11yAudit(this.element);
assert.dom('[data-test-registration-list-card]').isVisible();
- assert.dom('[data-test-registration-list-card-icon="revision_pending_moderation"]').exists();
+ assert.dom('[data-test-registration-list-card-icon="pending_moderation"]').exists();
assert.dom('[data-test-registration-title-link]').exists();
assert.dom('[data-test-registration-list-card-title]').hasText(this.registration.title);
});
diff --git a/translations/en-us.yml b/translations/en-us.yml
index e357914e971..8a3d5f01d66 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -1011,8 +1011,10 @@ registries:
withdrawn: Withdrawn
pendingWithdraw: 'Pending Withdrawal'
revisionPending: 'Pending Updates'
- submissions:
- title: Submissions
+ submitted:
+ title: Submitted
+ pending:
+ title: Pending
withdrawals:
title: 'Withdrawal Requests'
moderators:
@@ -1466,7 +1468,7 @@ registries:
rejected: 'No rejected registrations have been found'
withdrawn: 'No withdrawn registrations have been found'
pending_withdraw: 'No registrations found pending withdrawal'
- revision_pending_moderation: 'No registrations found with updates pending'
+ pending_moderation: 'No registrations found with updates pending'
reviewActionsList:
failedToLoadActions: 'Failed to load registration moderation history'
noActionsFound: 'No moderation history found for this registration'