diff --git a/wherehows-web/app/utils/api/datasets/health.ts b/wherehows-web/app/utils/api/datasets/health.ts index 9d2bb1331a..ceecfbc838 100644 --- a/wherehows-web/app/utils/api/datasets/health.ts +++ b/wherehows-web/app/utils/api/datasets/health.ts @@ -10,16 +10,7 @@ import { IHealthScoreResponse, IDatasetHealth } from 'wherehows-web/typings/api/ const datasetHealthUrlByUrn = (urn: string): string => `${datasetUrlByUrn(urn)}/health`; export const readDatasetHealthByUrn = async (urn: string): Promise => { - let health: IDatasetHealth; + const { health } = await getJSON({ url: datasetHealthUrlByUrn(urn) }); - try { - ({ health } = await getJSON({ url: datasetHealthUrlByUrn(urn) })); - } catch { - return { - score: 0, - validations: [] - }; - } - - return health; + return health || { score: 0, validations: [] }; }; diff --git a/wherehows-web/mirage/factories/dataset.ts b/wherehows-web/mirage/factories/dataset.ts index 52c97024b2..250108fa89 100644 --- a/wherehows-web/mirage/factories/dataset.ts +++ b/wherehows-web/mirage/factories/dataset.ts @@ -40,11 +40,5 @@ export default Factory.extend({ schema(id: number) { return id === 0 ? testSchemaA : 'abcd'; } - }), - - withHealth: trait({ - afterCreate(dataset: any, server: any) { - server.create('health', 1, { dataset }); - } }) }); diff --git a/wherehows-web/mirage/factories/health.ts b/wherehows-web/mirage/factories/health.ts index 002ea00802..5c3e28999b 100644 --- a/wherehows-web/mirage/factories/health.ts +++ b/wherehows-web/mirage/factories/health.ts @@ -27,10 +27,6 @@ export default Factory.extend({ return validations; }, - refDatasetUrn() { - return this.dataset ? this.dataset.urn : 'fakeUrn'; - }, - forTesting: trait({ score: 83, validations() { diff --git a/wherehows-web/mirage/helpers/dataset-health.ts b/wherehows-web/mirage/helpers/dataset-health.ts index 4a4ab53908..40dcd96a74 100644 --- a/wherehows-web/mirage/helpers/dataset-health.ts +++ b/wherehows-web/mirage/helpers/dataset-health.ts @@ -1,9 +1,7 @@ import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; -export const getDatasetHealth = function(this: IFunctionRouteHandler, { health }: any, request: any) { - const { dataset_id } = request.params; - +export const getDatasetHealth = function(this: IFunctionRouteHandler, { db: healths }: any) { return { - health: health.filter((score: any) => score.refDatasetUrn === dataset_id)[0] || null + health: this.serialize(healths[0]) }; }; diff --git a/wherehows-web/mirage/scenarios/default.ts b/wherehows-web/mirage/scenarios/default.ts index b213977a1d..c32a412fe4 100644 --- a/wherehows-web/mirage/scenarios/default.ts +++ b/wherehows-web/mirage/scenarios/default.ts @@ -13,7 +13,7 @@ export default function(server: IMirageServer) { server.loadFixtures(...fixtures); server.create('config'); server.createList('owner', 6); - server.createList('dataset', 10, 'withHealth'); + server.createList('dataset', 10); server.createList('datasetView', 2); server.createList('column', 2); server.createList('comment', 2); @@ -27,4 +27,5 @@ export default function(server: IMirageServer) { server.createList('suggestion', 2); server.createList('platform', 2); server.createList('version', 2); + server.createList('health', 1); } diff --git a/wherehows-web/tests/integration/components/datasets/containers/dataset-health-test.js b/wherehows-web/tests/integration/components/datasets/containers/dataset-health-test.js index f796f8f8d6..8776aa69c2 100644 --- a/wherehows-web/tests/integration/components/datasets/containers/dataset-health-test.js +++ b/wherehows-web/tests/integration/components/datasets/containers/dataset-health-test.js @@ -1,20 +1,17 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; -import { waitUntil, find } from 'ember-native-dom-helpers'; +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; import { urn } from 'wherehows-web/mirage/fixtures/urn'; -import sinon from 'sinon'; +import { render, find } from '@ember/test-helpers'; +import hbs from 'htmlbars-inline-precompile'; -moduleForComponent( - 'datasets/containers/dataset-health', - 'Integration | Component | datasets/containers/dataset-health', - { - integration: true - } -); +module('Integration | Component | datasets/containers/dataset-health', function(hooks) { + setupRenderingTest(hooks); -test('it renders', async function(assert) { - this.set('urn', urn); - this.render(hbs`{{datasets/containers/dataset-health urn=urn}}`); + test('it renders', async function(assert) { + this.set('urn', urn); + await render(hbs`{{datasets/containers/dataset-health urn=urn}}`); - assert.ok(find('.dataset-health__score-table'), 'renders the health table component'); + assert.ok(this.element, 'Renders without errors'); + assert.ok(find('.dataset-health__score-table'), 'renders the health table component'); + }); });