diff --git a/wherehows-web/app/routes/datasets/dataset.js b/wherehows-web/app/routes/datasets/dataset.js index 37c277d876..6230eae5cb 100644 --- a/wherehows-web/app/routes/datasets/dataset.js +++ b/wherehows-web/app/routes/datasets/dataset.js @@ -96,6 +96,7 @@ export default Route.extend({ // Don't set default zero Ids on controller if (id) { + id = +id; controller.set('datasetId', id); /** diff --git a/wherehows-web/mirage/config.ts b/wherehows-web/mirage/config.ts index 41b667d7a2..0483091791 100644 --- a/wherehows-web/mirage/config.ts +++ b/wherehows-web/mirage/config.ts @@ -1,4 +1,22 @@ import { faker } from 'ember-cli-mirage'; +import { getDatasetColumns } from 'wherehows-web/mirage/helpers/columns'; +import { getDatasetCompliance } from 'wherehows-web/mirage/helpers/compliance'; +import { getComplianceDataTypes } from 'wherehows-web/mirage/helpers/compliance-data-types'; +import { getDatasetComplianceSuggestion } from 'wherehows-web/mirage/helpers/compliance-suggestions'; +import { getDataset } from 'wherehows-web/mirage/helpers/dataset'; +import { getDatasetAccess } from 'wherehows-web/mirage/helpers/dataset-access'; +import { getDatasetComments } from 'wherehows-web/mirage/helpers/dataset-comments'; +import { getDatasetDbVersions } from 'wherehows-web/mirage/helpers/dataset-db-versions'; +import { getDatasetDepends } from 'wherehows-web/mirage/helpers/dataset-depends'; +import { getDatasetImpact } from 'wherehows-web/mirage/helpers/dataset-impact'; +import { getDatasetInstances } from 'wherehows-web/mirage/helpers/dataset-instances'; +import { getDatasetOwners } from 'wherehows-web/mirage/helpers/dataset-owners'; +import { getDatasetPlatforms } from 'wherehows-web/mirage/helpers/dataset-platforms'; +import { getDatasetProperties } from 'wherehows-web/mirage/helpers/dataset-properties'; +import { getDatasetReferences } from 'wherehows-web/mirage/helpers/dataset-references'; +import { getDatasetSample } from 'wherehows-web/mirage/helpers/dataset-sample'; +import { getDatasetView } from 'wherehows-web/mirage/helpers/dataset-view'; +import { getOwnerTypes } from 'wherehows-web/mirage/helpers/owner-types'; import { IFunctionRouteHandler, IMirageServer } from 'wherehows-web/typings/ember-cli-mirage'; import { ApiStatus } from 'wherehows-web/utils/api/shared'; import { getConfig } from 'wherehows-web/mirage/helpers/config'; @@ -12,17 +30,45 @@ export default function(this: IMirageServer) { this.passthrough('/write-coverage'); + this.namespace = '/api/v2'; + + this.get('/list/complianceDataTypes', getComplianceDataTypes); + + this.get('/list/platforms', getDatasetPlatforms); + this.namespace = '/api/v1'; - this.get('/list/complianceDataTypes', function( - this: IFunctionRouteHandler, - { complianceDataTypes }: { complianceDataTypes: any } - ) { - return { - complianceDataTypes: this.serialize(complianceDataTypes.all()), - status: ApiStatus.OK - }; - }); + this.get('/datasets/:dataset_id', getDataset); + + this.get('/datasets/:dataset_id/view', getDatasetView); + + this.get('/datasets/:dataset_id/columns', getDatasetColumns); + + this.get('/datasets/:dataset_id/compliance', getDatasetCompliance); + + this.get('/datasets/:dataset_id/compliance/suggestions', getDatasetComplianceSuggestion); + + this.get('/datasets/:dataset_id/comments', getDatasetComments); + + this.get('/datasets/:dataset_id/owners', getDatasetOwners); + + this.get('/datasets/:dataset_id/instances', getDatasetInstances); + + this.get('/owner/types', getOwnerTypes); + + this.get('/datasets/:dataset_id/sample', getDatasetSample); + + this.get('/datasets/:dataset_id/impacts', getDatasetImpact); + + this.get('/datasets/:dataset_id/depends', getDatasetDepends); + + this.get('/datasets/:dataset_id/access', getDatasetAccess); + + this.get('/datasets/:dataset_id/references', getDatasetReferences); + + this.get('/datasets/:dataset_id/properties', getDatasetProperties); + + this.get('/datasets/:dataset_id/versions/db/:db_id', getDatasetDbVersions); interface IFlowsObject { flows: any; diff --git a/wherehows-web/mirage/factories/access.js b/wherehows-web/mirage/factories/access.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/access.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/column.js b/wherehows-web/mirage/factories/column.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/column.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/comment.js b/wherehows-web/mirage/factories/comment.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/comment.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/compliance.js b/wherehows-web/mirage/factories/compliance.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/compliance.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/dataset-view.js b/wherehows-web/mirage/factories/dataset-view.js new file mode 100644 index 0000000000..383f9ffcf2 --- /dev/null +++ b/wherehows-web/mirage/factories/dataset-view.js @@ -0,0 +1,17 @@ +import { Factory, faker } from 'ember-cli-mirage'; + +export default Factory.extend({ + createdTime: faker.date.past(2), + deprecated: true, + deprecationNote: faker.lorem.words(5), + description: faker.lorem.words(7), + fabric: null, + modifiedTime: faker.date.recent(), + nativeName: 'abook.default-public-container', + nativeType: null, + platform: 'ambry', + properties: '{}', + removed: faker.random.boolean(), + tags: null, + uri: 'ambry:///abook.default-public-container' +}); diff --git a/wherehows-web/mirage/factories/dataset.js b/wherehows-web/mirage/factories/dataset.js index 57720fbec7..934b8d4f1c 100644 --- a/wherehows-web/mirage/factories/dataset.js +++ b/wherehows-web/mirage/factories/dataset.js @@ -1,6 +1,7 @@ import { Factory, faker } from 'ember-cli-mirage'; export default Factory.extend({ + id: faker.random.number({ min: 10000, max: 20000 }), created: null, formatedModified: '2017-09-04 10:34:44.0', hasSchemaHistory: false, diff --git a/wherehows-web/mirage/factories/depend.js b/wherehows-web/mirage/factories/depend.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/depend.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/impact.js b/wherehows-web/mirage/factories/impact.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/impact.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/instance.js b/wherehows-web/mirage/factories/instance.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/instance.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/owner-type.js b/wherehows-web/mirage/factories/owner-type.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/owner-type.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/platform.js b/wherehows-web/mirage/factories/platform.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/platform.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/property.js b/wherehows-web/mirage/factories/property.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/property.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/reference.js b/wherehows-web/mirage/factories/reference.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/reference.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/sample.js b/wherehows-web/mirage/factories/sample.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/sample.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/suggestion.js b/wherehows-web/mirage/factories/suggestion.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/suggestion.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/factories/version.js b/wherehows-web/mirage/factories/version.js new file mode 100644 index 0000000000..e6cb357ddb --- /dev/null +++ b/wherehows-web/mirage/factories/version.js @@ -0,0 +1,3 @@ +import { Factory } from 'ember-cli-mirage'; + +export default Factory.extend({}); diff --git a/wherehows-web/mirage/helpers/columns.ts b/wherehows-web/mirage/helpers/columns.ts new file mode 100644 index 0000000000..4914453dcd --- /dev/null +++ b/wherehows-web/mirage/helpers/columns.ts @@ -0,0 +1,12 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetColumns = function(this: IFunctionRouteHandler, { columns }: { columns: any }) { + return { + columns: this.serialize(columns.all()), + schemaless: false, + status: ApiStatus.OK + }; +}; + +export { getDatasetColumns }; diff --git a/wherehows-web/mirage/helpers/compliance-data-types.ts b/wherehows-web/mirage/helpers/compliance-data-types.ts new file mode 100644 index 0000000000..b7b12d8990 --- /dev/null +++ b/wherehows-web/mirage/helpers/compliance-data-types.ts @@ -0,0 +1,14 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getComplianceDataTypes = function( + this: IFunctionRouteHandler, + { complianceDataTypes }: { complianceDataTypes: any } +) { + return { + complianceDataTypes: this.serialize(complianceDataTypes.all()), + status: ApiStatus.OK + }; +}; + +export { getComplianceDataTypes }; diff --git a/wherehows-web/mirage/helpers/compliance-suggestions.ts b/wherehows-web/mirage/helpers/compliance-suggestions.ts new file mode 100644 index 0000000000..6f380fe843 --- /dev/null +++ b/wherehows-web/mirage/helpers/compliance-suggestions.ts @@ -0,0 +1,14 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetComplianceSuggestion = function( + this: IFunctionRouteHandler, + { complianceSuggestions }: { complianceSuggestions: any } +) { + return { + complianceSuggestion: this.serialize(complianceSuggestions.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetComplianceSuggestion }; diff --git a/wherehows-web/mirage/helpers/compliance.ts b/wherehows-web/mirage/helpers/compliance.ts new file mode 100644 index 0000000000..4ac227284e --- /dev/null +++ b/wherehows-web/mirage/helpers/compliance.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetCompliance = function(this: IFunctionRouteHandler, { compliances }: { compliances: any }) { + return { + complianceInfo: this.serialize(compliances.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetCompliance }; diff --git a/wherehows-web/mirage/helpers/dataset-access.ts b/wherehows-web/mirage/helpers/dataset-access.ts new file mode 100644 index 0000000000..9ad2ea479f --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-access.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetAccess = function(this: IFunctionRouteHandler, { accesses }: { accesses: any }) { + return { + access: this.serialize(accesses.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetAccess }; diff --git a/wherehows-web/mirage/helpers/dataset-comments.ts b/wherehows-web/mirage/helpers/dataset-comments.ts new file mode 100644 index 0000000000..045bc1d859 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-comments.ts @@ -0,0 +1,17 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetComments = function(this: IFunctionRouteHandler, { comments }: { comments: any }) { + return { + data: { + comments: this.serialize(comments.all()), + count: 2, + itemsPerPage: 10, + page: 1, + totalPages: 1 + }, + status: ApiStatus.OK + }; +}; + +export { getDatasetComments }; diff --git a/wherehows-web/mirage/helpers/dataset-db-versions.ts b/wherehows-web/mirage/helpers/dataset-db-versions.ts new file mode 100644 index 0000000000..150290dd30 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-db-versions.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetDbVersions = function(this: IFunctionRouteHandler, { versions }: { versions: any }) { + return { + versions: this.serialize(versions.all()), + status: ApiStatus.OK + }; +}; + +export { getDatasetDbVersions }; diff --git a/wherehows-web/mirage/helpers/dataset-depends.ts b/wherehows-web/mirage/helpers/dataset-depends.ts new file mode 100644 index 0000000000..bc581f37ac --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-depends.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetDepends = function(this: IFunctionRouteHandler, { depends }: { depends: any }) { + return { + depends: this.serialize(depends.all()), + status: ApiStatus.OK + }; +}; + +export { getDatasetDepends }; diff --git a/wherehows-web/mirage/helpers/dataset-impact.ts b/wherehows-web/mirage/helpers/dataset-impact.ts new file mode 100644 index 0000000000..b2ac17652a --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-impact.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetImpact = function(this: IFunctionRouteHandler, { impacts }: { impacts: any }) { + return { + impact: this.serialize(impacts.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetImpact }; diff --git a/wherehows-web/mirage/helpers/dataset-instances.ts b/wherehows-web/mirage/helpers/dataset-instances.ts new file mode 100644 index 0000000000..c86dfe5569 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-instances.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetInstances = function(this: IFunctionRouteHandler, { instances }: { instances: any }) { + return { + instances: this.serialize(instances.all()), + status: ApiStatus.OK + }; +}; + +export { getDatasetInstances }; diff --git a/wherehows-web/mirage/helpers/dataset-owners.ts b/wherehows-web/mirage/helpers/dataset-owners.ts new file mode 100644 index 0000000000..6dcdccc2f6 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-owners.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetOwners = function(this: IFunctionRouteHandler, { owners }: { owners: any }) { + return { + owners: this.serialize(owners.all()), + status: ApiStatus.OK + }; +}; + +export { getDatasetOwners }; diff --git a/wherehows-web/mirage/helpers/dataset-platforms.ts b/wherehows-web/mirage/helpers/dataset-platforms.ts new file mode 100644 index 0000000000..56f63183cd --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-platforms.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetPlatforms = function(this: IFunctionRouteHandler) { + return { + platforms: [], + status: ApiStatus.OK + }; +}; + +export { getDatasetPlatforms }; diff --git a/wherehows-web/mirage/helpers/dataset-properties.ts b/wherehows-web/mirage/helpers/dataset-properties.ts new file mode 100644 index 0000000000..1e9dce01d6 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-properties.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetProperties = function(this: IFunctionRouteHandler) { + return { + properties: {}, + status: ApiStatus.OK + }; +}; + +export { getDatasetProperties }; diff --git a/wherehows-web/mirage/helpers/dataset-references.ts b/wherehows-web/mirage/helpers/dataset-references.ts new file mode 100644 index 0000000000..90aead6230 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-references.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetReferences = function(this: IFunctionRouteHandler, { references }: { references: any }) { + return { + references: this.serialize(references.all()), + status: ApiStatus.OK + }; +}; + +export { getDatasetReferences }; diff --git a/wherehows-web/mirage/helpers/dataset-sample.ts b/wherehows-web/mirage/helpers/dataset-sample.ts new file mode 100644 index 0000000000..0aabe30db1 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-sample.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetSample = function(this: IFunctionRouteHandler, { samples }: { samples: any }) { + return { + sample: this.serialize(samples.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetSample }; diff --git a/wherehows-web/mirage/helpers/dataset-view.ts b/wherehows-web/mirage/helpers/dataset-view.ts new file mode 100644 index 0000000000..77a875484f --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset-view.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDatasetView = function(this: IFunctionRouteHandler, { datasetViews }: { datasetViews: any }) { + return { + dataset: this.serialize(datasetViews.first()), + status: ApiStatus.OK + }; +}; + +export { getDatasetView }; diff --git a/wherehows-web/mirage/helpers/dataset.ts b/wherehows-web/mirage/helpers/dataset.ts new file mode 100644 index 0000000000..c12207a993 --- /dev/null +++ b/wherehows-web/mirage/helpers/dataset.ts @@ -0,0 +1,11 @@ +import { IFunctionRouteHandler } from 'wherehows-web/typings/ember-cli-mirage'; +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getDataset = function(this: IFunctionRouteHandler, { datasets }: { datasets: any }) { + return { + dataset: this.serialize(datasets.first()), + status: ApiStatus.OK + }; +}; + +export { getDataset }; diff --git a/wherehows-web/mirage/helpers/owner-types.ts b/wherehows-web/mirage/helpers/owner-types.ts new file mode 100644 index 0000000000..3521338a2c --- /dev/null +++ b/wherehows-web/mirage/helpers/owner-types.ts @@ -0,0 +1,10 @@ +import { ApiStatus } from 'wherehows-web/utils/api/shared'; + +const getOwnerTypes = function() { + return { + ownerTypes: ['DataOwner', 'Producer', 'Delegate', 'Stakeholder', 'Consumer'], + status: ApiStatus.OK + }; +}; + +export { getOwnerTypes }; diff --git a/wherehows-web/mirage/models/access.js b/wherehows-web/mirage/models/access.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/access.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/column.js b/wherehows-web/mirage/models/column.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/column.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/comment.js b/wherehows-web/mirage/models/comment.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/comment.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/compliance.js b/wherehows-web/mirage/models/compliance.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/compliance.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/dataset-view.js b/wherehows-web/mirage/models/dataset-view.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/dataset-view.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/depend.js b/wherehows-web/mirage/models/depend.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/depend.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/impact.js b/wherehows-web/mirage/models/impact.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/impact.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/instance.js b/wherehows-web/mirage/models/instance.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/instance.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/owner-type.js b/wherehows-web/mirage/models/owner-type.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/owner-type.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/platform.js b/wherehows-web/mirage/models/platform.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/platform.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/property.js b/wherehows-web/mirage/models/property.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/property.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/reference.js b/wherehows-web/mirage/models/reference.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/reference.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/sample.js b/wherehows-web/mirage/models/sample.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/sample.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/suggestion.js b/wherehows-web/mirage/models/suggestion.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/suggestion.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/models/version.js b/wherehows-web/mirage/models/version.js new file mode 100644 index 0000000000..770b50936d --- /dev/null +++ b/wherehows-web/mirage/models/version.js @@ -0,0 +1,3 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({}); diff --git a/wherehows-web/mirage/scenarios/default.js b/wherehows-web/mirage/scenarios/default.js index 25b88de75b..b2de57a9a3 100644 --- a/wherehows-web/mirage/scenarios/default.js +++ b/wherehows-web/mirage/scenarios/default.js @@ -12,5 +12,18 @@ export default function(server) { server.create('config'); server.createList('owner', 6); server.createList('dataset', 10); + server.createList('datasetView', 2); server.createList('flow', 10); + server.createList('column', 2); + server.createList('comment', 2); + server.createList('compliance', 2); + server.createList('depend', 2); + server.createList('impact', 2); + server.createList('instance', 2); + server.createList('ownerType', 2); + server.createList('reference', 2); + server.createList('sample', 2); + server.createList('suggestion', 2); + server.createList('platform', 2); + server.createList('version', 2); } diff --git a/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js b/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js new file mode 100644 index 0000000000..a047dbbf67 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/comments', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/comments', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/comments'; + + await visit(url); + assert.equal(currentURL(), url, 'comments route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Comments', 'comments tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js b/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js new file mode 100644 index 0000000000..44810571b5 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/ownership', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/ownership', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/ownership'; + + await visit(url); + assert.equal(currentURL(), url, 'ownership route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Ownership', 'ownership tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js b/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js new file mode 100644 index 0000000000..cf9a5e81a6 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/properties', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/properties', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/properties'; + + await visit(url); + assert.equal(currentURL(), url, 'properties route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Properties', 'properties tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js b/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js new file mode 100644 index 0000000000..97a947fab3 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/relations', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/relations', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/relations'; + + await visit(url); + assert.equal(currentURL(), url, 'relations route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Relations', 'relations tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js b/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js new file mode 100644 index 0000000000..87190272ac --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/sample', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/sample', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/sample'; + + await visit(url); + assert.equal(currentURL(), url, 'sample route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Sample Data', 'sample tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js b/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js new file mode 100644 index 0000000000..920a494316 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/schema', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/schema', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/schema'; + + await visit(url); + assert.equal(currentURL(), url, 'schema route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Schema', 'schema tab is selected'); +}); diff --git a/wherehows-web/tests/helpers/login/test-login.js b/wherehows-web/tests/helpers/login/test-login.js new file mode 100644 index 0000000000..1add395d41 --- /dev/null +++ b/wherehows-web/tests/helpers/login/test-login.js @@ -0,0 +1,16 @@ +import { visit, click, fillIn } from 'ember-native-dom-helpers'; +import { authenticationUrl, testUser, testPassword } from 'wherehows-web/tests/helpers/login/constants'; +import { + loginUserInput, + loginPasswordInput, + loginSubmitButton +} from 'wherehows-web/tests/helpers/login/page-element-constants'; + +const appLogin = async () => { + await visit(authenticationUrl); + await fillIn(loginUserInput, testUser); + await fillIn(loginPasswordInput, testPassword); + await click(loginSubmitButton); +}; + +export default appLogin;