Skip to content

Commit 0d1ebde

Browse files
authored
[ENG-3486] Fix language for overview revision metadata (#1372)
* Fix language for overview revision metadata + tests * Fix tests
1 parent f1dc7b1 commit 0d1ebde

File tree

6 files changed

+45
-19
lines changed

6 files changed

+45
-19
lines changed

lib/osf-components/addon/components/registries/overview-form-renderer/template.hbs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
<LoadingIndicator @dark={{true}}/>
33
{{else}}
44
{{#if this.showMetadata}}
5-
<Registries::VersionMetadata @revision={{@revision}} />
5+
<Registries::VersionMetadata
6+
@revision={{@revision}}
7+
@registration={{@registration}}
8+
/>
69
{{/if}}
710
<Registries::RegistrationFormNavigationDropdown
811
@showMetadata={{false}}

lib/osf-components/addon/components/registries/version-metadata/template.hbs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{{assert 'Registries::VersionMetadata requires @revision' @revision}}
2+
{{assert 'Registries::VersionMetadata requires @registration' @registration}}
23
<section
34
local-class='versionMetadata'
45
>
@@ -14,7 +15,7 @@
1415
{{!-- TODO: add description for what fields have changed --}}
1516
<p data-test-version-metadata-date>
1617
{{if @revision.isOriginalResponse
17-
(t 'registries.overview.versionMetadata.originalDate' date=(moment-format @revision.dateModified 'MMM DD, YYYY'))
18+
(t 'registries.overview.versionMetadata.originalDate' date=(moment-format @registration.dateRegistered 'MMM DD, YYYY'))
1819
(t 'registries.overview.versionMetadata.date' date=(moment-format @revision.dateModified 'MMM DD, YYYY'))
1920
}}
2021
</p>

mirage/factories/registration.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ export default NodeFactory.extend<MirageRegistration & RegistrationTraits>({
151151
registrationSchema: newReg.registrationSchema,
152152
reviewsState: RevisionReviewStates.Unapproved,
153153
revisionResponses: newReg.registrationResponses,
154+
isOriginalResponse: true,
154155
});
155156
newReg.update({ originalResponse: baseResponse });
156157
newReg.update({ latestResponse: baseResponse });

tests/engines/registries/acceptance/overview/revision-test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ module('Registries | Acceptance | overview.revision', hooks => {
3737
revisionResponses: { q1: 'Super Man' },
3838
registration,
3939
});
40+
registration.update({ latestResponse: revision });
4041
await visit(`/${registration.id}?revisionId=${revision.id}`);
4142
assert.dom('[data-test-version-metadata-title]')
4243
.exists('version metadata is shown when viewing a specific revision');

tests/integration/components/registries/update-dropdown/component-test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ module('Integration | Component | update-dropdown', hooks => {
5252
`);
5353
assert.dom('[data-test-update-button]').containsText(t('registries.update_dropdown.latest'), 'Latest selected');
5454
await click('[data-test-update-button]');
55-
assert.dom('[data-test-revision-link]').exists({ count: 3 }, '3 revisions shown');
55+
assert.dom('[data-test-revision-link]').exists({ count: 4 }, '4 revisions shown');
5656

5757
assert.dom('[data-test-update-dropdown-show-more]').doesNotExist('Show more element not shown');
5858
assert.dom('[data-test-update-dropdown-create-new-revision]').doesNotExist('New update button not shown');
@@ -86,7 +86,7 @@ module('Integration | Component | update-dropdown', hooks => {
8686
.doesNotExist('Link to revision in progress not shown');
8787
});
8888

89-
test('update dropdown - 3 revisions, one in progress', async function(this: ComponentTestContext, assert) {
89+
test('update dropdown - 3 extra revisions, one in progress', async function(this: ComponentTestContext, assert) {
9090
const mirageRegistration = server.create('registration', {
9191
id: 'cobalt',
9292
title: 'Outcome Reporting Testing',
@@ -114,7 +114,7 @@ module('Integration | Component | update-dropdown', hooks => {
114114
<Registries::UpdateDropdown @registration={{this.registration}}/>
115115
`);
116116
await click('[data-test-update-button]');
117-
assert.dom('[data-test-revision-link]').exists({ count: 2 }, 'revision in progress not listed');
117+
assert.dom('[data-test-revision-link]').exists({ count: 3 }, 'revision in progress not listed');
118118

119119
assert.dom('[data-test-update-dropdown-show-more]').doesNotExist('Show more element not shown');
120120
assert.dom('[data-test-update-dropdown-create-new-revision]').doesNotExist('New update button not shown');

tests/integration/components/registries/version-metadata/component-test.ts

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,47 @@ module('Integration | Component | version-metadata', hooks => {
1313
setupMirage(hooks);
1414
setupIntl(hooks);
1515

16-
// TODO: Test registrations with 2 revisions, registration with 2 revisions with one selected
17-
test('it renders', async function(this: TestContext, assert) {
18-
const currentUser = server.create('user', { fullName: 'Lex Luthor' }, 'loggedIn');
16+
test('it renders original', async function(this: TestContext, assert) {
17+
const registration = server.create('registration');
18+
this.set('registration', registration);
19+
this.set('revision', registration.originalResponse);
20+
await render(hbs`
21+
<Registries::VersionMetadata
22+
@registration={{this.registration}} @revision={{this.revision}}
23+
/>`);
24+
assert.dom('[data-test-version-metadata-title]').hasText(
25+
t('registries.overview.versionMetadata.originalTitle'), 'title indicates original version',
26+
);
27+
assert.dom('[data-test-version-metadata-date]').hasTextContaining(
28+
t('registries.overview.versionMetadata.originalDate', {
29+
date: moment(registration.dateRegistered).format('MMM DD, YYYY'),
30+
}), 'Registration submission date is shown',
31+
);
32+
assert.dom('[data-test-version-metadata-reason]')
33+
.doesNotExist();
34+
});
35+
36+
test('it renders subsequent revision', async function(this: TestContext, assert) {
37+
const registration = server.create('registration');
38+
const justification = 'this is why';
1939
const revision = server.create('schema-response', {
20-
isOriginalResponse: true,
21-
initiatedBy: currentUser,
22-
dateModified: new Date(),
23-
revisionJustification: 'This registration went into a phone booth',
24-
revisionResponses: { q1: 'Super Man' },
40+
registration,
41+
revisionJustification: justification,
2542
});
43+
this.set('registration', registration);
2644
this.set('revision', revision);
27-
await render(hbs`<Registries::VersionMetadata @revision={{this.revision}} />`);
45+
await render(hbs`
46+
<Registries::VersionMetadata
47+
@registration={{this.registration}} @revision={{this.revision}}
48+
/>`);
2849
assert.dom('[data-test-version-metadata-title]').hasText(
29-
t('registries.overview.versionMetadata.originalTitle'), 'revision title is shown',
50+
t('registries.overview.versionMetadata.updateTitle'), 'title indicates updated version',
3051
);
3152
assert.dom('[data-test-version-metadata-date]').hasTextContaining(
32-
t('registries.overview.versionMetadata.originalDate', {
53+
t('registries.overview.versionMetadata.date', {
3354
date: moment(revision.dateModified).format('MMM DD, YYYY'),
34-
}), 'revision initiator is shown',
55+
}), 'revision modification date is shown',
3556
);
36-
assert.dom('[data-test-version-metadata-reason]')
37-
.doesNotExist();
57+
assert.dom('[data-test-version-metadata-reason]').hasTextContaining(justification);
3858
});
3959
});

0 commit comments

Comments
 (0)