1
0
Fork 0

Download alert has expected content

This commit is contained in:
Joe Wroten 2018-12-16 15:26:30 -06:00
parent 60445ef22c
commit 8e7d12e3cb
3 changed files with 15 additions and 1 deletions

View file

@ -15,6 +15,12 @@ export default Component.extend({
} else return this.selectedFilePaths.length === 0 ? 'none' : 'some'; } else return this.selectedFilePaths.length === 0 ? 'none' : 'some';
}), }),
selectedFileDownloads: computed('selectedFilePaths.[]', 'files.@each.{status,path}', function() {
return this.selectedFilePaths.map(path => {
return this.files.find(file => file.status === 'available' && file.path === path);
})
}),
actions: { actions: {
downloadSelected() { downloadSelected() {
set(this, 'showDownloadAlert', true); set(this, 'showDownloadAlert', true);

View file

@ -9,7 +9,11 @@
> >
Close Close
</button> </button>
Foo <ol>
{{#each selectedFileDownloads as | file |}}
<li><strong>{{file.device}}</strong>: <code>{{file.path}}</code></li>
{{/each}}
</ol>
</div> </div>
{{/if}} {{/if}}

View file

@ -90,11 +90,15 @@ module('Integration | Component | file-table', function(hooks) {
test('it handles showing download device/path for selected available files', async function(assert) { test('it handles showing download device/path for selected available files', async function(assert) {
this.set('files', [genericFile(), genericFile()]); this.set('files', [genericFile(), genericFile()]);
this.set('files.1.status', 'scheduled');
await render(hbs`{{file-table files=files}}`); await render(hbs`{{file-table files=files}}`);
await click('[data-test-action=file-table-select-all]'); await click('[data-test-action=file-table-select-all]');
await click('[data-test-action=file-table-download-selected]'); await click('[data-test-action=file-table-download-selected]');
assert.ok(find('[data-test-id=file-table-download-alert]'), 'Renders download alert wrapper'); assert.ok(find('[data-test-id=file-table-download-alert]'), 'Renders download alert wrapper');
assert.equal(find('[data-test-id=file-table-download-alert]').innerText.includes(this.files[0].device), true, 'Renders first file device');
assert.equal(find('[data-test-id=file-table-download-alert]').innerText.includes(this.files[0].path), true, 'Renders first file path');
assert.equal(find('[data-test-id=file-table-download-alert]').innerText.includes(this.files[1].path), false, 'Does NOT render second file path');
await click('[data-test-action=file-table-download-close]'); await click('[data-test-action=file-table-download-close]');
assert.notOk(find('[data-test-id=file-table-download-alert]'), 'Closes download alert wrapper'); assert.notOk(find('[data-test-id=file-table-download-alert]'), 'Closes download alert wrapper');