From 9239a087e47def367799b6e826903a431943d9fd Mon Sep 17 00:00:00 2001 From: Martin Fenner Date: Sat, 4 Jan 2020 14:24:49 +0100 Subject: [PATCH] added acceptance tests for doi creation and updates. #280 --- app/components/model-validation-errors.js | 12 +- app/models/custom-inflector-rules.js | 1 - app/models/doi.js | 6 +- app/templates/components/doi-affiliation.hbs | 2 +- app/templates/components/doi-creator.hbs | 16 +- app/templates/components/doi-description.hbs | 4 +- app/templates/components/doi-doi.hbs | 4 +- .../components/doi-name-identifier.hbs | 4 +- app/templates/components/doi-title.hbs | 4 +- app/templates/components/doi-types.hbs | 3 +- app/templates/components/doi-upload.hbs | 4 +- app/templates/components/model-search.hbs | 2 +- app/templates/dois/show/edit.hbs | 5 +- app/templates/dois/show/modify.hbs | 6 +- app/templates/prefixes/index.hbs | 2 +- .../providers/show/prefixes/index.hbs | 2 +- app/templates/repositories/show/dois/new.hbs | 2 +- .../repositories/show/dois/upload.hbs | 4 +- tests/acceptance/client_admin/doi-test.js | 354 -------------- .../client_admin/repository-test.js | 3 +- .../consortium_admin/repository-test.js | 3 +- .../organization_admin/provider-test.js | 3 +- .../organization_admin/repository-test.js | 3 +- tests/acceptance/staff_admin/doi-test.js | 461 +++++++++++++++++- tests/acceptance/staff_admin/provider-test.js | 3 +- .../acceptance/staff_admin/repository-test.js | 3 +- 26 files changed, 493 insertions(+), 423 deletions(-) diff --git a/app/components/model-validation-errors.js b/app/components/model-validation-errors.js index 89121bc8c..6b9762641 100644 --- a/app/components/model-validation-errors.js +++ b/app/components/model-validation-errors.js @@ -6,12 +6,14 @@ export default Component.extend({ didReceiveAttrs() { this._super(...arguments); - let errors = this.model.get('validations.errors'); + if (this.model.get('state') !== 'draft') { + let errors = this.model.get('validations.errors'); - if (errors.length > 0) { - A(errors).forEach((item) => { - console.log(item); - }); + if (errors.length > 0) { + A(errors).forEach((item) => { + console.log(item); + }); + } } }, }); diff --git a/app/models/custom-inflector-rules.js b/app/models/custom-inflector-rules.js index 9a7b8a724..357df6c8a 100644 --- a/app/models/custom-inflector-rules.js +++ b/app/models/custom-inflector-rules.js @@ -6,7 +6,6 @@ inflector.uncountable('status'); inflector.uncountable('media'); inflector.uncountable('settings'); inflector.uncountable('auth'); -inflector.irregular('prefix', 'prefixes'); // Modules must have an export, so we just export an empty object here export default {}; \ No newline at end of file diff --git a/app/models/doi.js b/app/models/doi.js index db36b531d..694050de6 100644 --- a/app/models/doi.js +++ b/app/models/doi.js @@ -9,7 +9,7 @@ import { A } from '@ember/array'; const Validations = buildValidations({ details: [ validator('belongs-to', { - disabled: computed('model.mode', 'model.state', 'model.prefix', function() { + disabled: computed('model.mode', 'model.state', function() { return ![ 'new', 'edit' ].includes(this.model.get('mode')) || this.get('model.state') === 'draft'; }), }), @@ -59,7 +59,7 @@ const Validations = buildValidations({ }), validator('presence', { presence: true, - isWarning: computed('model.state', 'model.prefix', function() { + isWarning: computed('model.state', function() { return this.get('model.state') === 'draft'; }), }), @@ -70,7 +70,7 @@ const Validations = buildValidations({ publisher: [ validator('presence', { presence: true, - isWarning: computed('model.state', 'model.prefix', function() { + isWarning: computed('model.state', function() { return this.get('model.state') === 'draft'; }), disabled: computed('model.mode', function() { diff --git a/app/templates/components/doi-affiliation.hbs b/app/templates/components/doi-affiliation.hbs index 0a78cc941..1882948dc 100644 --- a/app/templates/components/doi-affiliation.hbs +++ b/app/templates/components/doi-affiliation.hbs @@ -12,7 +12,7 @@ {{else}} -
+
{{#form.element controlType="power-select" disabled=disabled value=fragment.name options=organizations as |el|}} {{#el.control onChange=(action "selectRor") search=(action "searchRor") placeholder="Select Affiliation" searchPlaceholder="Type to search..." allowClear=true as |item|}} {{if item.name item.name fragment.name}} diff --git a/app/templates/components/doi-creator.hbs b/app/templates/components/doi-creator.hbs index c1c1868b8..2d7814a00 100644 --- a/app/templates/components/doi-creator.hbs +++ b/app/templates/components/doi-creator.hbs @@ -11,19 +11,19 @@ {{/if}}
- Person Organization + Person Organization
{{#if (gt index 0)}} {{#if showPersonal}}
- +
- +
{{/if}} @@ -31,7 +31,7 @@
- + {{fa-icon "trash"}} @@ -42,7 +42,7 @@ {{#if showPersonal}}
- + {{#if (v-get fragment 'givenName' 'errors')}}
{{v-get fragment 'givenName' 'message'}}
@@ -55,7 +55,7 @@
- + {{#if (v-get fragment 'familyName' 'errors')}}
{{v-get fragment 'familyName' 'message'}}
@@ -69,14 +69,14 @@
- +
The main researchers involved in producing the data, or the authors of the publication, in priority order.
{{else}}
- + {{#if (v-get fragment 'name' 'errors')}}
{{v-get fragment 'name' 'message'}}
diff --git a/app/templates/components/doi-description.hbs b/app/templates/components/doi-description.hbs index 16405e8fc..af2a135ff 100644 --- a/app/templates/components/doi-description.hbs +++ b/app/templates/components/doi-description.hbs @@ -1,14 +1,14 @@ {{#if (gt index 0)}}
diff --git a/app/templates/components/model-search.hbs b/app/templates/components/model-search.hbs index 6d8780e31..f55484652 100644 --- a/app/templates/components/model-search.hbs +++ b/app/templates/components/model-search.hbs @@ -53,5 +53,5 @@
{{/if}} -

{{format-number model.meta.total}} {{titleize (pluralize model.meta.total modelName without-count=true)}}

+

{{format-number model.meta.total}} {{pluralize model.meta.total modelName without-count=true}}

{{/if}} diff --git a/app/templates/dois/show/edit.hbs b/app/templates/dois/show/edit.hbs index 4ac411e5f..03148ddb9 100644 --- a/app/templates/dois/show/edit.hbs +++ b/app/templates/dois/show/edit.hbs @@ -12,8 +12,7 @@
- + @@ -33,7 +32,7 @@ the resource and can't be changed." @disabled={{true}} />
- +
diff --git a/app/templates/dois/show/modify.hbs b/app/templates/dois/show/modify.hbs index a6c02de87..e8e915d23 100644 --- a/app/templates/dois/show/modify.hbs +++ b/app/templates/dois/show/modify.hbs @@ -13,7 +13,7 @@
- + @@ -22,9 +22,9 @@
- +
- \ No newline at end of file + diff --git a/app/templates/prefixes/index.hbs b/app/templates/prefixes/index.hbs index 0741d1834..5446cdc9f 100644 --- a/app/templates/prefixes/index.hbs +++ b/app/templates/prefixes/index.hbs @@ -90,7 +90,7 @@
- + {{#if model}} {{#each model as |prefix|}} diff --git a/app/templates/providers/show/prefixes/index.hbs b/app/templates/providers/show/prefixes/index.hbs index 70abc206d..93d0eee38 100644 --- a/app/templates/providers/show/prefixes/index.hbs +++ b/app/templates/providers/show/prefixes/index.hbs @@ -87,7 +87,7 @@ {{/if}}
- + {{#if model.prefixes}} {{#each model.prefixes as |providerPrefix|}} diff --git a/app/templates/repositories/show/dois/new.hbs b/app/templates/repositories/show/dois/new.hbs index 5b2f3837b..e7860ac97 100644 --- a/app/templates/repositories/show/dois/new.hbs +++ b/app/templates/repositories/show/dois/new.hbs @@ -24,7 +24,7 @@
- +
diff --git a/app/templates/repositories/show/dois/upload.hbs b/app/templates/repositories/show/dois/upload.hbs index 96bb7a5c4..751e7e2f4 100644 --- a/app/templates/repositories/show/dois/upload.hbs +++ b/app/templates/repositories/show/dois/upload.hbs @@ -11,14 +11,14 @@ - +
- +
diff --git a/tests/acceptance/client_admin/doi-test.js b/tests/acceptance/client_admin/doi-test.js index 07575922a..4e9b89499 100644 --- a/tests/acceptance/client_admin/doi-test.js +++ b/tests/acceptance/client_admin/doi-test.js @@ -59,358 +59,4 @@ module('Acceptance | client_admin | repository', function(hooks) { assert.equal(currentURL(), '/dois/10.70048%2Fe605-dg05'); assert.dom('h2.work').hasText('10.70048/e605-dg05'); }); - - // test('unpermitted suffix', async function(assert) { - // let suffix = Math.random().toString(36).substring(7); - - // await visit('/repositories/datacite.rph/dois/new'); - // await typeIn('input#suffix-field', suffix + '#:aswde3#'); // trigger validation - // await click('#suffix.suffix.form-group'); // trigger validation - // await click('input#draft-radio:checked'); // trigger validation - // // await pauseTest(); - - // let group = findAll('#suffix.suffix.form-group')[0].className; - - // assert.equal(group, 'suffix form-group has-error has-feedback ember-view'); - // }); - - // test('empty suffix', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - // await fillIn('input#suffix-field', ''); - // await triggerKeyEvent('input#suffix-field', 'keyup', 'Tab'); // trigger validation - - // await click('#suffix.suffix.form-group'); // trigger validation - // await click('input#draft-radio:checked'); // trigger validation - // let group = findAll('#suffix.suffix.form-group')[0].className; - - // assert.equal(group, 'suffix form-group has-error has-feedback ember-view'); - // }); - - // test('creating a new DOI for repository RPH renders', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - - // // Maybe we do not need this one - // await waitUntil(() => { - // let prefix = findAll('span.ember-power-select-selected-item'); - // let suffix = this.element.querySelector('input#suffix-field'); - // let status = this.element.querySelector('input#draft-radio:checked'); - // if (prefix[0].innerText && suffix.value && status.value) { - // return true; - // } - // return false; - // }); - // // on landing - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); - // assert.dom('h3').hasText('Create DOI (Form)'); - // assert.dom('input#url-field').hasNoValue(); - // assert.dom('input#publisher-field').hasNoValue(); - // assert.dom('input#publication-year-field').hasNoValue(); - // assert.dom('input#draft-radio').isChecked(); - // assert.dom('input#registered-radio').isNotChecked(); - // assert.dom('input#findable-radio').isNotChecked(); - // assert.dom('input#suffix-field').hasAnyValue(); - // }); - - // test('adding multiple fields for a new DOI for repository RPH', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - // await fillIn('input#url-field', goodDoi.url); - // await fillIn('input#publisher-field', goodDoi.publisher); - // await fillIn('input#publication-year-field', goodDoi.publicationYear); - - // await click('button#add-title'); - // await click('button#add-title'); - - // let titles = findAll('input.title-field'); - - // await fillIn(titles[0], goodDoi.titles[0]); - // await fillIn(titles[1], goodDoi.titles[1]); - - // await click('button#add-creator'); - // await click('button#add-creator'); - - // let creators = findAll('input.creator-field'); - - // await fillIn(creators[0], goodDoi.creators[0]); - // await fillIn(creators[1], goodDoi.creators[1]); - - // await click('button#add-description'); - // await click('button#add-description'); - - // let descriptions = findAll('textarea.description-field'); - - // await fillIn(descriptions[0], goodDoi.descriptions[0]); - // await fillIn(descriptions[1], goodDoi.descriptions[1]); - - // assert.equal(findAll('input.title-field')[0].value,goodDoi.titles[0]); - // assert.equal(findAll('input.title-field')[1].value,goodDoi.titles[1]); - - // assert.equal(findAll('input.creator-field')[0].value,goodDoi.creators[0]); - // assert.equal(findAll('input.creator-field')[1].value, goodDoi.creators[1]); - - // assert.equal(findAll('textarea.description-field')[0].value,goodDoi.descriptions[0]); - // assert.equal(findAll('textarea.description-field')[1].value,goodDoi.descriptions[1]); - - // assert.dom('input#url-field').hasValue('http://bbc.co.uk'); - // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); - // assert.dom('input#publication-year-field').hasValue(goodDoi.publicationYear); - - // assert.dom('input#url-field').hasStyle({color: 'rgb(46, 204, 113)'}); - // assert.dom('input#publisher-field').hasStyle({color: 'rgb(46, 204, 113)'}); - // }); - - // test('creating a new draft DOI for repository RPH', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - - // let titles = findAll('input.title-field'); - // let suffix = Math.random().toString(36).substring(7); - - // await fillIn('input#suffix-field', suffix); - // await click('input#draft-radio'); - // await fillIn('input#url-field', goodDoi.url); - // await fillIn(titles[0], goodDoi.titles[0]); - // await fillIn('input#publisher-field', goodDoi.publisher); - // await fillIn('input#publication-year-field', goodDoi.publicationYear); - // await fillIn('input.creator-field', 'Alexander Payne'); - - // // Maybe we do not need this one - // await waitUntil(() => { - // let prefix = findAll('span.ember-power-select-selected-item'); - // let suffix = this.element.querySelector('input#suffix-field'); - // let status = this.element.querySelector('input#draft-radio:checked'); - // if (prefix[0].innerText && suffix.value && status.value) { - // return true; - // } - // return false; - // }); - // await click('button#create'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); - // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); - // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[0]); - // }); - - // test('creating a new DOI for repository RPH', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - - // let titles = findAll('input.title-field'); - // let suffix = Math.random().toString(36).substring(7); - - // await fillIn('input#suffix-field', suffix); - // await click('input#draft-radio'); - // await fillIn('input#url-field', goodDoi.url); - // await fillIn(titles[0], goodDoi.titles[0]); - // await fillIn('input#publisher-field', goodDoi.publisher); - // await fillIn('input#publication-year-field', goodDoi.publicationYear); - // await fillIn('input.creator-field', 'Alexander Payne'); - - // // Maybe we do not need this one - // await waitUntil(() => { - // let prefix = findAll('span.ember-power-select-selected-item'); - // let suffix = this.element.querySelector('input#suffix-field'); - // let status = this.element.querySelector('input#draft-radio:checked'); - // if (prefix[0].innerText && suffix.value && status.value) { - // return true; - // } - // return false; - // }); - // await click('button#create'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); - // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); - // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[0]); - // }); - - // test('modify values for a DOI from repository RPH', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); - - // let titles = findAll('input.title-field'); - // let suffix = Math.random().toString(36).substring(7); - - // await fillIn('input#suffix-field', suffix); - // await click('input#draft-radio'); - // await fillIn('input#url-field', goodDoi.url); - // await fillIn(titles[0], goodDoi.titles[0]); - // await fillIn('input#publisher-field', goodDoi.publisher); - // await fillIn('input#publication-year-field', goodDoi.publicationYear); - // await fillIn('input.creator-field', 'Alexander Payne'); - - // await click('button#create'); - - // await waitUntil(() => { - // let doiName = findAll('h2.work')[1].innerText; - // console.log(doiName); - // if (doiName == '10.2312/' + suffix) { - // return true; - // } - // return false; - // }); - // // await pauseTest() - // await click('#edit-doi'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix + '/edit'); - // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); - - // let updatedTitles = findAll('input.title-field'); - - // await fillIn(updatedTitles[0], goodDoi.titles[1]); - // await fillIn('input#publisher-field', 'ITV4'); - // await fillIn('input#publication-year-field', '2000'); - // await fillIn('input.creator-field', 'Frank Ohara'); - - // await click('#update-doi'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); - // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); - // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[1]); - // assert.dom('h3.work ~ div.metadata').includesText('2000'); - // assert.dom('h3.work ~ div.metadata').includesText('ITV'); - // }); - - // test('remove values for a DOI from repository RPH', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - - // let titles = findAll('input.title-field'); - // let suffix = Math.random().toString(36).substring(7); - - // await fillIn('input#suffix-field', suffix); - // await click('input#draft-radio'); - // await fillIn('input#url-field', goodDoi.url); - // await fillIn(titles[0], goodDoi.titles[0]); - // await fillIn('input#publisher-field', goodDoi.publisher); - // await fillIn('input#publication-year-field', goodDoi.publicationYear); - // await fillIn('input.creator-field', 'Alexander Payne'); - - // await click('button#create'); - - // await waitUntil(() => { - // let doiName = findAll('h2.work')[1].innerText; - // console.log(doiName); - // if (doiName == '10.2312/' + suffix) { - // return true; - // } - // return false; - // }); - // // await pauseTest() - // await click('#edit-doi'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix + '/edit'); - // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); - - // let updatedTitles = findAll('input.title-field'); - - // await fillIn(updatedTitles[0], goodDoi.titles[1]); - // await fillIn('input#publisher-field', ''); - // await fillIn('input#publication-year-field', ''); - // await fillIn('input.creator-field', ''); - - - // await click('#update-doi'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); - // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); - // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[1]); - // assert.dom('h3.work ~ div.metadata').doesNotIncludeText('2000'); - // assert.dom('h3.work ~ div.metadata').doesNotIncludeText('ITV'); - // }); - - // test('edit multiple fields for a new DOI for repository RPH', async function(assert) { - // await visit('/dois/10.70048%2Fe605-dg05/edit'); - - // assert.dom('input#url-field').hasValue('https://schema.datacite.org/meta/kernel-4.1/index.html'); - // assert.dom('input#publisher-field').hasValue('University of Tartu'); - // assert.dom('input#publication-year-field').hasValue('2016'); - // assert.equal(findAll('input.title-field')[1].value,'Chapter |'); - // assert.equal(findAll('input.title-field')[0].value,'My doi'); - // assert.equal(findAll('input.creator-field')[0].value,'De vito, Danny'); - // assert.equal(findAll('input.creator-field')[1].value,'corgan, billy'); - // assert.equal(findAll('textarea.description-field')[0].value,goodDoi.descriptions[0]); - // assert.equal(findAll('textarea.description-field')[1].value,goodDoi.descriptions[1]); - // }); - - // test('view full DOI in the form', async function(assert) { - // await visit('/dois/10.70048%2Fe605-dg05/edit'); - - // let nameIdentifiers = findAll('input.name-identifier-field'); - // let givenNames = findAll('input.given-name-field'); - // let familyNames = findAll('input.family-name-fields'); - // let titles = findAll('input.title-field'); - // let titleTypes = findAll('.power-select-fragment.title-type span.ember-power-select-selected-item'); - // let titleLangs = findAll('.power-select-fragment.title-lang span.ember-power-select-selected-item'); - // let descTypes = findAll('.description-types.ember-view span.ember-power-select-selected-item'); - // let descLangs = findAll('.power-select-fragment.description-langs span.ember-power-select-selected-item'); - // let organisations = findAll('input.select-organisation'); - // let persons = findAll('input.select-person'); - - // assert.dom('input#url-field').hasValue('https://www.dane.de'); - // assert.dom('input#publisher-field').hasValue('VS Code'); - // assert.dom('input#publication-year-field').hasValue('1996'); - // assert.equal(titles[0].value,'Brexit: EU points finger at UK for Theresa May\'s deal defeatff'); - // assert.equal(titles[1].value,'Deadly shooting at Brazilian school'); - // assert.equal(nameIdentifiers[0].value,'https://orcid.org/0000-0003-3484-6875'); - // assert.equal(nameIdentifiers[1].value,''); - // assert.equal(nameIdentifiers[2].value,''); - // assert.equal(givenNames[0].value,'Kristian'); - // assert.equal(givenNames[1].value,'Cristiano'); - // assert.equal(familyNames[0].value,'Garza'); - // assert.equal(familyNames[1].value,'Ronaldo'); - // // assert.equal(findAll(' span.ember-power-select-selected-item')[0].value,'Manchester University'); - // assert.dom(organisations[0]).isNotChecked(); - // assert.dom(organisations[1]).isNotChecked(); - // assert.dom(organisations[2]).isChecked(); - - // assert.dom(persons[0]).isChecked(); - // assert.dom(persons[1]).isChecked(); - // assert.dom(persons[2]).isNotChecked(); - - // assert.dom(titleTypes[0]).hasText('TranslatedTitle'); - // assert.dom(titleLangs[0]).hasText('English'); - - // assert.dom(descTypes[0]).hasText('Other'); - // assert.dom(descTypes[1]).hasText('Abstract'); - // assert.dom(descLangs[0]).hasText('Assamese'); - - // assert.equal(findAll('input.creator-field')[0].value,'Garza, Kristian'); - // assert.equal(findAll('input.creator-field')[1].value,'Ronaldo, Cristiano'); - // assert.equal(findAll('input.creator-field')[2].value,'Datacite'); - // assert.equal(findAll('textarea.description-field')[0].value,'European politician after European politician tweeted to say how disappointed they were, how businesses and citizens across the EU and UK now faced more agonising uncertainty and that the vote in the House of Commons brought everyone much closer to a no-deal Brexit.'); - // assert.equal(findAll('textarea.description-field')[1].value,'Continuing disarray in the House of Commons just makes the EU wonder what the point could now be in delaying Brexit by just a few weeks - if the prime minister does request a short extension of the leaving process.'); - - // await click('#update-doi'); - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F7qw1-th81'); - // assert.equal(findAll('h2.work')[1].innerText,'10.2312/7qw1-th81'); - // }); - - // test('fail creating a new DOI without publicationYear and publisher ', async function(assert) { - // await visit('/repositories/datacite.rph/dois/new'); - - // let titles = findAll('input.title-field'); - // let suffix = Math.random().toString(36).substring(7); - - // await fillIn('input#suffix-field', suffix); - // await click('input#findable-radio'); - // await fillIn('input#url-field', 'http://bbc.co.uk'); - // await fillIn(titles[0], ''); - // await fillIn('input#publisher-field', ''); - // await fillIn('input#publication-year-field', 'thisIs not a year'); - // await fillIn('input.creator-field', 'Alexander Payne'); - - // // Maybe we do not need this one - // await waitUntil(() => { - // let prefix = findAll('span.ember-power-select-selected-item'); - // let suffix = this.element.querySelector('input#suffix-field'); - // let status = this.element.querySelector('input#findable-radio:checked'); - // if (prefix[0].innerText && suffix.value && status.value) { - // return true; - // } - // return false; - // }); - // await click('button#create'); - - // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); - // assert.equal(this.element.querySelector('div#publisher').className, 'form-group has-error has-feedback ember-view'); - // assert.equal(findAll('input.title-field')[0].className, 'form-control title-field'); - // assert.equal(this.element.querySelector('div#publication-year').className, 'form-group has-error has-feedback ember-view'); - // }); }); diff --git a/tests/acceptance/client_admin/repository-test.js b/tests/acceptance/client_admin/repository-test.js index 4bbf765b6..64007e9bc 100644 --- a/tests/acceptance/client_admin/repository-test.js +++ b/tests/acceptance/client_admin/repository-test.js @@ -86,8 +86,7 @@ module('Acceptance | client_admin | repository', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); diff --git a/tests/acceptance/consortium_admin/repository-test.js b/tests/acceptance/consortium_admin/repository-test.js index 16e601403..119ff768c 100644 --- a/tests/acceptance/consortium_admin/repository-test.js +++ b/tests/acceptance/consortium_admin/repository-test.js @@ -64,8 +64,7 @@ module('Acceptance | consortium_admin | repository', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); diff --git a/tests/acceptance/organization_admin/provider-test.js b/tests/acceptance/organization_admin/provider-test.js index 31c46fe04..abf915524 100644 --- a/tests/acceptance/organization_admin/provider-test.js +++ b/tests/acceptance/organization_admin/provider-test.js @@ -81,8 +81,7 @@ module('Acceptance | organization_admin | provider', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); diff --git a/tests/acceptance/organization_admin/repository-test.js b/tests/acceptance/organization_admin/repository-test.js index 832eb6516..98a566c51 100644 --- a/tests/acceptance/organization_admin/repository-test.js +++ b/tests/acceptance/organization_admin/repository-test.js @@ -62,8 +62,7 @@ module('Acceptance | organization_admin | repository', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); diff --git a/tests/acceptance/staff_admin/doi-test.js b/tests/acceptance/staff_admin/doi-test.js index ba5be1076..32420c48f 100644 --- a/tests/acceptance/staff_admin/doi-test.js +++ b/tests/acceptance/staff_admin/doi-test.js @@ -28,8 +28,7 @@ module('Acceptance | staff_admin | admin', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); @@ -42,21 +41,15 @@ module('Acceptance | staff_admin | admin', function(hooks) { // test('visiting dois with click', async function(assert) { // await visit('/dois'); - // await pauseTest(); - // // first DOI in list // await click('h3.work:first-child a'); - // assert.dom('button#edit-doi').includesText('Update DOI (Form)'); - // assert.dom('button#modify-doi').includesText('Update DOI (File Upload)'); + // // see buttons for single DOI + // assert.dom('a#edit-doi').includesText('Update DOI (Form)'); + // assert.dom('a#modify-doi').includesText('Update DOI (File Upload)'); // }); test('visiting specific doi', async function(assert) { - await authenticateSession({ - uid: 'admin', - name: 'Admin', - role_id: 'staff_admin', - }); await visit('/dois/10.70048%2Fe605-dg05'); assert.equal(currentURL(), '/dois/10.70048%2Fe605-dg05'); @@ -64,14 +57,450 @@ module('Acceptance | staff_admin | admin', function(hooks) { }); // test('visiting specific doi draft', async function(assert) { - // await authenticateSession({ - // uid: 'admin', - // name: 'Admin', - // role_id: 'staff_admin', - // }); // await visit('/dois/10.14454%2F0sd6-bh17'); // assert.equal(currentURL(), '/dois/10.14454%2F0sd6-bh17'); // assert.dom('h2.work').hasText('10.14454/0sd6-bh17'); // }); + + test('new DOI form for repository RPH', async function(assert) { + assert.expect(14); + + await visit('/repositories/datacite.rph/dois/new'); + + assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); + assert.dom('input#suffix-field').exists(); + // assert.dom('input#draft-radio').exists(); + + assert.dom('input#url-field').exists(); + + assert.dom('[data-test-name-identifier]').exists(); + assert.dom('input.select-person').exists(); + assert.dom('[data-test-given-name]').exists(); + assert.dom('[data-test-family-name]').exists(); + assert.dom('[data-test-name]').exists(); + + assert.dom('[data-test-title]').exists(); + assert.dom('input#publisher-field').exists(); + assert.dom('input#publication-year-field').exists(); + assert.dom('input#resource-type-field').exists(); + assert.dom('[data-test-description]').exists(); + + assert.dom('button#doi-create').exists(); + }); + + test('upload DOI form for repository RPH', async function(assert) { + assert.expect(6); + + await visit('/repositories/datacite.rph/dois/upload'); + + assert.equal(currentURL(), '/repositories/datacite.rph/dois/upload'); + assert.dom('input#suffix-field').exists(); + // assert.dom('input#draft-radio').exists(); + + assert.dom('input#url-field').exists(); + + assert.dom('#upload-file').exists(); + assert.dom('textarea#metadata-field').exists(); + + assert.dom('button#doi-create').exists(); + }); + + test('edit DOI form for repository RPH', async function(assert) { + assert.expect(14); + + await visit('/dois/10.70048%2Fe605-dg05/edit'); + + assert.equal(currentURL(), '/dois/10.70048%2Fe605-dg05/edit'); + assert.dom('input#doi-field').exists(); + // assert.dom('input#draft-radio').exists(); + + assert.dom('input#url-field').exists(); + + assert.dom('[data-test-name-identifier]').exists(); + assert.dom('input.select-person').exists(); + assert.dom('[data-test-given-name]').exists(); + assert.dom('[data-test-family-name]').exists(); + assert.dom('[data-test-name]').exists(); + + assert.dom('[data-test-title]').exists(); + assert.dom('input#publisher-field').exists(); + assert.dom('input#publication-year-field').exists(); + assert.dom('input#resource-type-field').exists(); + assert.dom('[data-test-description]').exists(); + + assert.dom('button#doi-update').exists(); + }); + + // TODO fix validations + // test('modify DOI form for repository RPH', async function(assert) { + // assert.expect(7); + + // await visit('/dois/10.70048%2Fe605-dg05/modify'); + + // assert.equal(currentURL(), '/dois/10.70048%2Fe605-dg05/modify'); + // assert.dom('input#doi-field').exists(); + // assert.dom('input#draft-radio').exists(); + + // assert.dom('input#url-field').exists(); + + // assert.dom('#upload-file').exists(); + // assert.dom('textarea#metadata-field').exists(); + + // assert.dom('button#doi-modify').exists(); + // }); + + // test('unpermitted suffix', async function(assert) { + // let suffix = Math.random().toString(36).substring(7); + + // await visit('/repositories/datacite.rph/dois/new'); + // await typeIn('input#suffix-field', suffix + '#:aswde3#'); // trigger validation + // await click('#suffix.suffix.form-group'); // trigger validation + // await click('input#draft-radio:checked'); // trigger validation + // // await pauseTest(); + + // let group = findAll('#suffix.suffix.form-group')[0].className; + + // assert.equal(group, 'suffix form-group has-error has-feedback ember-view'); + // }); + + // test('empty suffix', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + // await fillIn('input#suffix-field', ''); + // await triggerKeyEvent('input#suffix-field', 'keyup', 'Tab'); // trigger validation + + // await click('#suffix.suffix.form-group'); // trigger validation + // await click('input#draft-radio:checked'); // trigger validation + // let group = findAll('#suffix.suffix.form-group')[0].className; + + // assert.equal(group, 'suffix form-group has-error has-feedback ember-view'); + // }); + + // test('creating a new DOI for repository RPH renders', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + + // // Maybe we do not need this one + // await waitUntil(() => { + // let prefix = findAll('span.ember-power-select-selected-item'); + // let suffix = this.element.querySelector('input#suffix-field'); + // let status = this.element.querySelector('input#draft-radio:checked'); + // if (prefix[0].innerText && suffix.value && status.value) { + // return true; + // } + // return false; + // }); + // // on landing + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); + // assert.dom('h3').hasText('Create DOI (Form)'); + // assert.dom('input#url-field').hasNoValue(); + // assert.dom('input#publisher-field').hasNoValue(); + // assert.dom('input#publication-year-field').hasNoValue(); + // assert.dom('input#draft-radio').isChecked(); + // assert.dom('input#registered-radio').isNotChecked(); + // assert.dom('input#findable-radio').isNotChecked(); + // assert.dom('input#suffix-field').hasAnyValue(); + // }); + + // test('adding multiple fields for a new DOI for repository RPH', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + // await fillIn('input#url-field', goodDoi.url); + // await fillIn('input#publisher-field', goodDoi.publisher); + // await fillIn('input#publication-year-field', goodDoi.publicationYear); + + // await click('button#add-title'); + // await click('button#add-title'); + + // let titles = findAll('input.title-field'); + + // await fillIn(titles[0], goodDoi.titles[0]); + // await fillIn(titles[1], goodDoi.titles[1]); + + // await click('button#add-creator'); + // await click('button#add-creator'); + + // let creators = findAll('input.creator-field'); + + // await fillIn(creators[0], goodDoi.creators[0]); + // await fillIn(creators[1], goodDoi.creators[1]); + + // await click('button#add-description'); + // await click('button#add-description'); + + // let descriptions = findAll('textarea.description-field'); + + // await fillIn(descriptions[0], goodDoi.descriptions[0]); + // await fillIn(descriptions[1], goodDoi.descriptions[1]); + + // assert.equal(findAll('input.title-field')[0].value,goodDoi.titles[0]); + // assert.equal(findAll('input.title-field')[1].value,goodDoi.titles[1]); + + // assert.equal(findAll('input.creator-field')[0].value,goodDoi.creators[0]); + // assert.equal(findAll('input.creator-field')[1].value, goodDoi.creators[1]); + + // assert.equal(findAll('textarea.description-field')[0].value,goodDoi.descriptions[0]); + // assert.equal(findAll('textarea.description-field')[1].value,goodDoi.descriptions[1]); + + // assert.dom('input#url-field').hasValue('http://bbc.co.uk'); + // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); + // assert.dom('input#publication-year-field').hasValue(goodDoi.publicationYear); + + // assert.dom('input#url-field').hasStyle({color: 'rgb(46, 204, 113)'}); + // assert.dom('input#publisher-field').hasStyle({color: 'rgb(46, 204, 113)'}); + // }); + + // test('creating a new draft DOI for repository RPH', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + + // let titles = findAll('input.title-field'); + // let suffix = Math.random().toString(36).substring(7); + + // await fillIn('input#suffix-field', suffix); + // await click('input#draft-radio'); + // await fillIn('input#url-field', goodDoi.url); + // await fillIn(titles[0], goodDoi.titles[0]); + // await fillIn('input#publisher-field', goodDoi.publisher); + // await fillIn('input#publication-year-field', goodDoi.publicationYear); + // await fillIn('input.creator-field', 'Alexander Payne'); + + // // Maybe we do not need this one + // await waitUntil(() => { + // let prefix = findAll('span.ember-power-select-selected-item'); + // let suffix = this.element.querySelector('input#suffix-field'); + // let status = this.element.querySelector('input#draft-radio:checked'); + // if (prefix[0].innerText && suffix.value && status.value) { + // return true; + // } + // return false; + // }); + // await click('button#create'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); + // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); + // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[0]); + // }); + + // test('creating a new DOI for repository RPH', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + + // let titles = findAll('input.title-field'); + // let suffix = Math.random().toString(36).substring(7); + + // await fillIn('input#suffix-field', suffix); + // await click('input#draft-radio'); + // await fillIn('input#url-field', goodDoi.url); + // await fillIn(titles[0], goodDoi.titles[0]); + // await fillIn('input#publisher-field', goodDoi.publisher); + // await fillIn('input#publication-year-field', goodDoi.publicationYear); + // await fillIn('input.creator-field', 'Alexander Payne'); + + // // Maybe we do not need this one + // await waitUntil(() => { + // let prefix = findAll('span.ember-power-select-selected-item'); + // let suffix = this.element.querySelector('input#suffix-field'); + // let status = this.element.querySelector('input#draft-radio:checked'); + // if (prefix[0].innerText && suffix.value && status.value) { + // return true; + // } + // return false; + // }); + // await click('button#create'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); + // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); + // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[0]); + // }); + + // test('modify values for a DOI from repository RPH', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); + + // let titles = findAll('input.title-field'); + // let suffix = Math.random().toString(36).substring(7); + + // await fillIn('input#suffix-field', suffix); + // await click('input#draft-radio'); + // await fillIn('input#url-field', goodDoi.url); + // await fillIn(titles[0], goodDoi.titles[0]); + // await fillIn('input#publisher-field', goodDoi.publisher); + // await fillIn('input#publication-year-field', goodDoi.publicationYear); + // await fillIn('input.creator-field', 'Alexander Payne'); + + // await click('button#create'); + + // await waitUntil(() => { + // let doiName = findAll('h2.work')[1].innerText; + // console.log(doiName); + // if (doiName == '10.2312/' + suffix) { + // return true; + // } + // return false; + // }); + // // await pauseTest() + // await click('#edit-doi'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix + '/edit'); + // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); + + // let updatedTitles = findAll('input.title-field'); + + // await fillIn(updatedTitles[0], goodDoi.titles[1]); + // await fillIn('input#publisher-field', 'ITV4'); + // await fillIn('input#publication-year-field', '2000'); + // await fillIn('input.creator-field', 'Frank Ohara'); + + // await click('#update-doi'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); + // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); + // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[1]); + // assert.dom('h3.work ~ div.metadata').includesText('2000'); + // assert.dom('h3.work ~ div.metadata').includesText('ITV'); + // }); + + // test('remove values for a DOI from repository RPH', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + + // let titles = findAll('input.title-field'); + // let suffix = Math.random().toString(36).substring(7); + + // await fillIn('input#suffix-field', suffix); + // await click('input#draft-radio'); + // await fillIn('input#url-field', goodDoi.url); + // await fillIn(titles[0], goodDoi.titles[0]); + // await fillIn('input#publisher-field', goodDoi.publisher); + // await fillIn('input#publication-year-field', goodDoi.publicationYear); + // await fillIn('input.creator-field', 'Alexander Payne'); + + // await click('button#create'); + + // await waitUntil(() => { + // let doiName = findAll('h2.work')[1].innerText; + // console.log(doiName); + // if (doiName == '10.2312/' + suffix) { + // return true; + // } + // return false; + // }); + // // await pauseTest() + // await click('#edit-doi'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix + '/edit'); + // assert.dom('input#publisher-field').hasValue(goodDoi.publisher); + + // let updatedTitles = findAll('input.title-field'); + + // await fillIn(updatedTitles[0], goodDoi.titles[1]); + // await fillIn('input#publisher-field', ''); + // await fillIn('input#publication-year-field', ''); + // await fillIn('input.creator-field', ''); + + + // await click('#update-doi'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F' + suffix); + // assert.equal(findAll('h2.work')[1].innerText,'10.2312/' + suffix); + // assert.equal(this.element.querySelector('h3.work').innerText,goodDoi.titles[1]); + // assert.dom('h3.work ~ div.metadata').doesNotIncludeText('2000'); + // assert.dom('h3.work ~ div.metadata').doesNotIncludeText('ITV'); + // }); + + // test('edit multiple fields for a new DOI for repository RPH', async function(assert) { + // await visit('/dois/10.70048%2Fe605-dg05/edit'); + + // assert.dom('input#url-field').hasValue('https://schema.datacite.org/meta/kernel-4.1/index.html'); + // assert.dom('input#publisher-field').hasValue('University of Tartu'); + // assert.dom('input#publication-year-field').hasValue('2016'); + // assert.equal(findAll('input.title-field')[1].value,'Chapter |'); + // assert.equal(findAll('input.title-field')[0].value,'My doi'); + // assert.equal(findAll('input.creator-field')[0].value,'De vito, Danny'); + // assert.equal(findAll('input.creator-field')[1].value,'corgan, billy'); + // assert.equal(findAll('textarea.description-field')[0].value,goodDoi.descriptions[0]); + // assert.equal(findAll('textarea.description-field')[1].value,goodDoi.descriptions[1]); + // }); + + // test('view full DOI in the form', async function(assert) { + // await visit('/dois/10.70048%2Fe605-dg05/edit'); + + // let nameIdentifiers = findAll('input.name-identifier-field'); + // let givenNames = findAll('input.given-name-field'); + // let familyNames = findAll('input.family-name-fields'); + // let titles = findAll('input.title-field'); + // let titleTypes = findAll('.power-select-fragment.title-type span.ember-power-select-selected-item'); + // let titleLangs = findAll('.power-select-fragment.title-lang span.ember-power-select-selected-item'); + // let descTypes = findAll('.description-types.ember-view span.ember-power-select-selected-item'); + // let descLangs = findAll('.power-select-fragment.description-langs span.ember-power-select-selected-item'); + // let organisations = findAll('input.select-organisation'); + // let persons = findAll('input.select-person'); + + // assert.dom('input#url-field').hasValue('https://www.dane.de'); + // assert.dom('input#publisher-field').hasValue('VS Code'); + // assert.dom('input#publication-year-field').hasValue('1996'); + // assert.equal(titles[0].value,'Brexit: EU points finger at UK for Theresa May\'s deal defeatff'); + // assert.equal(titles[1].value,'Deadly shooting at Brazilian school'); + // assert.equal(nameIdentifiers[0].value,'https://orcid.org/0000-0003-3484-6875'); + // assert.equal(nameIdentifiers[1].value,''); + // assert.equal(nameIdentifiers[2].value,''); + // assert.equal(givenNames[0].value,'Kristian'); + // assert.equal(givenNames[1].value,'Cristiano'); + // assert.equal(familyNames[0].value,'Garza'); + // assert.equal(familyNames[1].value,'Ronaldo'); + // // assert.equal(findAll(' span.ember-power-select-selected-item')[0].value,'Manchester University'); + // assert.dom(organisations[0]).isNotChecked(); + // assert.dom(organisations[1]).isNotChecked(); + // assert.dom(organisations[2]).isChecked(); + + // assert.dom(persons[0]).isChecked(); + // assert.dom(persons[1]).isChecked(); + // assert.dom(persons[2]).isNotChecked(); + + // assert.dom(titleTypes[0]).hasText('TranslatedTitle'); + // assert.dom(titleLangs[0]).hasText('English'); + + // assert.dom(descTypes[0]).hasText('Other'); + // assert.dom(descTypes[1]).hasText('Abstract'); + // assert.dom(descLangs[0]).hasText('Assamese'); + + // assert.equal(findAll('input.creator-field')[0].value,'Garza, Kristian'); + // assert.equal(findAll('input.creator-field')[1].value,'Ronaldo, Cristiano'); + // assert.equal(findAll('input.creator-field')[2].value,'Datacite'); + // assert.equal(findAll('textarea.description-field')[0].value,'European politician after European politician tweeted to say how disappointed they were, how businesses and citizens across the EU and UK now faced more agonising uncertainty and that the vote in the House of Commons brought everyone much closer to a no-deal Brexit.'); + // assert.equal(findAll('textarea.description-field')[1].value,'Continuing disarray in the House of Commons just makes the EU wonder what the point could now be in delaying Brexit by just a few weeks - if the prime minister does request a short extension of the leaving process.'); + + // await click('#update-doi'); + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/10.2312%2F7qw1-th81'); + // assert.equal(findAll('h2.work')[1].innerText,'10.2312/7qw1-th81'); + // }); + + // test('fail creating a new DOI without publicationYear and publisher ', async function(assert) { + // await visit('/repositories/datacite.rph/dois/new'); + + // let titles = findAll('input.title-field'); + // let suffix = Math.random().toString(36).substring(7); + + // await fillIn('input#suffix-field', suffix); + // await click('input#findable-radio'); + // await fillIn('input#url-field', 'http://bbc.co.uk'); + // await fillIn(titles[0], ''); + // await fillIn('input#publisher-field', ''); + // await fillIn('input#publication-year-field', 'thisIs not a year'); + // await fillIn('input.creator-field', 'Alexander Payne'); + + // // Maybe we do not need this one + // await waitUntil(() => { + // let prefix = findAll('span.ember-power-select-selected-item'); + // let suffix = this.element.querySelector('input#suffix-field'); + // let status = this.element.querySelector('input#findable-radio:checked'); + // if (prefix[0].innerText && suffix.value && status.value) { + // return true; + // } + // return false; + // }); + // await click('button#create'); + + // assert.equal(currentURL(), '/repositories/datacite.rph/dois/new'); + // assert.equal(this.element.querySelector('div#publisher').className, 'form-group has-error has-feedback ember-view'); + // assert.equal(findAll('input.title-field')[0].className, 'form-control title-field'); + // assert.equal(this.element.querySelector('div#publication-year').className, 'form-group has-error has-feedback ember-view'); + // }); }); diff --git a/tests/acceptance/staff_admin/provider-test.js b/tests/acceptance/staff_admin/provider-test.js index 9799dea37..b957c9414 100644 --- a/tests/acceptance/staff_admin/provider-test.js +++ b/tests/acceptance/staff_admin/provider-test.js @@ -96,8 +96,7 @@ module('Acceptance | staff_admin | provider', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists(); diff --git a/tests/acceptance/staff_admin/repository-test.js b/tests/acceptance/staff_admin/repository-test.js index 868a26178..18b76b492 100644 --- a/tests/acceptance/staff_admin/repository-test.js +++ b/tests/acceptance/staff_admin/repository-test.js @@ -68,8 +68,7 @@ module('Acceptance | staff_admin | repository', function(hooks) { assert.dom('div#search').exists(); // at least one doi exists - // TODO Ember-Inflector pluralizes DOI to Dois - assert.dom('[data-test-results]').includesText('Dois'); + assert.dom('[data-test-results]').includesText('DOIs'); assert.dom('[data-test-doi]').exists(); assert.dom('div.panel.facets').exists();