diff --git a/ui/packages/consul-ui/.eslintignore b/ui/packages/consul-ui/.eslintignore index df274f720..349abf174 100644 --- a/ui/packages/consul-ui/.eslintignore +++ b/ui/packages/consul-ui/.eslintignore @@ -1,6 +1,7 @@ app/utils/dom/event-target/event-target-shim/event.js # unconventional js /blueprints/*/files/ +/blueprints/*/*-files/ /vendor/ # compiled output diff --git a/ui/packages/consul-ui/.storybook/main.js b/ui/packages/consul-ui/.storybook/main.js index 3b8aad670..2b2c11427 100644 --- a/ui/packages/consul-ui/.storybook/main.js +++ b/ui/packages/consul-ui/.storybook/main.js @@ -1,3 +1,4 @@ +/* eslint-env node */ module.exports = { "stories": [ "../app/**/*.stories.mdx" diff --git a/ui/packages/consul-ui/.template-lintrc.js b/ui/packages/consul-ui/.template-lintrc.js index df2f4f9e0..e1b3f082f 100644 --- a/ui/packages/consul-ui/.template-lintrc.js +++ b/ui/packages/consul-ui/.template-lintrc.js @@ -4,6 +4,7 @@ module.exports = { extends: 'octane', rules: { 'no-partial': false, + 'table-groups': false, 'no-invalid-interactive': false, 'simple-unless': false, diff --git a/ui/packages/consul-ui/GNUmakefile b/ui/packages/consul-ui/GNUmakefile index 27f24e9f3..d667f562c 100644 --- a/ui/packages/consul-ui/GNUmakefile +++ b/ui/packages/consul-ui/GNUmakefile @@ -69,10 +69,10 @@ test-parallel: deps yarn run test:parallel lint: deps - yarn run lint:hbs && yarn run lint:js + yarn run lint format: deps - yarn run format:js + yarn run format steps: yarn run steps:list diff --git a/ui/packages/consul-ui/app/components/child-selector/index.js b/ui/packages/consul-ui/app/components/child-selector/index.js index 9760e1f58..e40a4d0a0 100644 --- a/ui/packages/consul-ui/app/components/child-selector/index.js +++ b/ui/packages/consul-ui/app/components/child-selector/index.js @@ -1,6 +1,6 @@ import Component from '@ember/component'; import { get, set, computed } from '@ember/object'; -import { alias, sort } from '@ember/object/computed'; +import { alias } from '@ember/object/computed'; import { inject as service } from '@ember/service'; import { task } from 'ember-concurrency'; diff --git a/ui/packages/consul-ui/app/components/consul/discovery-chain/index.js b/ui/packages/consul-ui/app/components/consul/discovery-chain/index.js index a4947c683..31842c7de 100644 --- a/ui/packages/consul-ui/app/components/consul/discovery-chain/index.js +++ b/ui/packages/consul-ui/app/components/consul/discovery-chain/index.js @@ -1,7 +1,6 @@ import Component from '@ember/component'; import { inject as service } from '@ember/service'; import { set, get, computed } from '@ember/object'; -import { schedule } from '@ember/runloop'; import { createRoute, getSplitters, getRoutes, getResolvers } from './utils'; diff --git a/ui/packages/consul-ui/app/components/consul/intention/list/index.js b/ui/packages/consul-ui/app/components/consul/intention/list/index.js index e07c637a2..4d9917b77 100644 --- a/ui/packages/consul-ui/app/components/consul/intention/list/index.js +++ b/ui/packages/consul-ui/app/components/consul/intention/list/index.js @@ -2,7 +2,6 @@ import Component from '@glimmer/component'; import { inject as service } from '@ember/service'; import { action } from '@ember/object'; import { tracked } from '@glimmer/tracking'; -import { sort } from '@ember/object/computed'; export default class ConsulIntentionList extends Component { @service('repository/intention') repo; diff --git a/ui/packages/consul-ui/app/components/consul/nspace/list/index.js b/ui/packages/consul-ui/app/components/consul/nspace/list/index.js index 5b894ebb4..e00c5b8a0 100644 --- a/ui/packages/consul-ui/app/components/consul/nspace/list/index.js +++ b/ui/packages/consul-ui/app/components/consul/nspace/list/index.js @@ -1,5 +1,4 @@ import Component from '@glimmer/component'; -import { action } from '@ember/object'; export default class ConsulNspaceList extends Component { isLinkable(item) { diff --git a/ui/packages/consul-ui/app/components/consul/tomography/graph/index.js b/ui/packages/consul-ui/app/components/consul/tomography/graph/index.js index f5403b15b..01a7249f3 100644 --- a/ui/packages/consul-ui/app/components/consul/tomography/graph/index.js +++ b/ui/packages/consul-ui/app/components/consul/tomography/graph/index.js @@ -23,7 +23,7 @@ export default class TomographyGraph extends Component { } get distances() { - const distances = this.args.distances || []; + let distances = this.args.distances || []; const max = distances.reduce((prev, d) => Math.max(prev, d.distance), this.max); const len = distances.length; if (len > 360) { diff --git a/ui/packages/consul-ui/app/components/data-collection/index.js b/ui/packages/consul-ui/app/components/data-collection/index.js index 77f3aa4b8..23d6bb3eb 100644 --- a/ui/packages/consul-ui/app/components/data-collection/index.js +++ b/ui/packages/consul-ui/app/components/data-collection/index.js @@ -27,7 +27,7 @@ export default class DataCollectionComponent extends Component { return this.items; } - @computed('args.items', 'args.items.content') + @computed('args{items,.items.content}') get content() { // TODO: Temporary little hack to ensure we detect DataSource proxy // objects but not any other special Ember Proxy object like ember-data @@ -53,7 +53,7 @@ export default class DataCollectionComponent extends Component { @computed('type', 'filtered', 'args.filters.searchproperties', 'searchTerm') get searched() { - if (typeof this.searchTerm === '') { + if (this.searchTerm === '') { return this.filtered; } const predicate = this.searchService.predicate(this.type); diff --git a/ui/packages/consul-ui/app/components/form-component/index.js b/ui/packages/consul-ui/app/components/form-component/index.js index ef1c0dc17..d1b23fee3 100644 --- a/ui/packages/consul-ui/app/components/form-component/index.js +++ b/ui/packages/consul-ui/app/components/form-component/index.js @@ -37,13 +37,8 @@ export default Component.extend(Slotted, { } else { name = prop; } - const form = this.form; - try { - form.handleEvent(event, name); - this.onchange({ target: this }); - } catch (err) { - throw err; - } + this.form.handleEvent(event, name); + this.onchange({ target: this }); }, }, }); diff --git a/ui/packages/consul-ui/app/components/list-collection/index.js b/ui/packages/consul-ui/app/components/list-collection/index.js index 6762e42c6..9724e9a73 100644 --- a/ui/packages/consul-ui/app/components/list-collection/index.js +++ b/ui/packages/consul-ui/app/components/list-collection/index.js @@ -7,7 +7,6 @@ import Slotted from 'block-slots'; const formatItemStyle = PercentageColumns.prototype.formatItemStyle; export default Component.extend(Slotted, { - tagName: '', dom: service('dom'), tagName: '', height: 500, diff --git a/ui/packages/consul-ui/app/components/topology-metrics/popover/index.hbs b/ui/packages/consul-ui/app/components/topology-metrics/popover/index.hbs index f89a28b59..55bd5e150 100644 --- a/ui/packages/consul-ui/app/components/topology-metrics/popover/index.hbs +++ b/ui/packages/consul-ui/app/components/topology-metrics/popover/index.hbs @@ -32,6 +32,7 @@ @@ -67,6 +68,7 @@ diff --git a/ui/packages/consul-ui/app/filter/predicates/policy.js b/ui/packages/consul-ui/app/filter/predicates/policy.js index 9f6142b9b..d3a6ca4ee 100644 --- a/ui/packages/consul-ui/app/filter/predicates/policy.js +++ b/ui/packages/consul-ui/app/filter/predicates/policy.js @@ -1,3 +1,5 @@ +import setHelpers from 'mnemonist/set'; + export default { kinds: { 'global-management': (item, value) => item.isGlobalManagement, diff --git a/ui/packages/consul-ui/app/models/proxy.js b/ui/packages/consul-ui/app/models/proxy.js index 7508f17c8..65daae44b 100644 --- a/ui/packages/consul-ui/app/models/proxy.js +++ b/ui/packages/consul-ui/app/models/proxy.js @@ -1,4 +1,4 @@ -import Model, { attr } from '@ember-data/model'; +import { attr } from '@ember-data/model'; import ServiceInstanceModel from './service-instance'; export const PRIMARY_KEY = 'uid'; diff --git a/ui/packages/consul-ui/app/models/service-instance.js b/ui/packages/consul-ui/app/models/service-instance.js index 09a386a02..0be3a7047 100644 --- a/ui/packages/consul-ui/app/models/service-instance.js +++ b/ui/packages/consul-ui/app/models/service-instance.js @@ -41,7 +41,7 @@ export default class ServiceInstance extends Model { @alias('Service.Service') Name; // If the ID is blank fallback to the Service.Service (the Name) - @or('Service.ID', 'Service.Service') ID; + @or('Service.{ID,Service}') ID; @or('Service.Address', 'Node.Service') Address; @alias('Service.Tags') Tags; @@ -54,7 +54,7 @@ export default class ServiceInstance extends Model { // MeshChecks are a concatenation of Checks for the Instance and Checks for // the ProxyInstance. Checks is an ember-data-model-fragment, so we can't just // concat it, we have to loop through all the items in order to merge - @computed('Checks', 'ProxyInstance.Checks', 'ProxyInstance.ServiceProxy.Expose.Checks') + @computed('Checks', 'ProxyInstance{Checks,ServiceProxy.Expose.Checks}') get MeshChecks() { return (get(this, 'Checks') || []) .map(item => { diff --git a/ui/packages/consul-ui/app/models/service.js b/ui/packages/consul-ui/app/models/service.js index f55691015..0353caf69 100644 --- a/ui/packages/consul-ui/app/models/service.js +++ b/ui/packages/consul-ui/app/models/service.js @@ -1,5 +1,5 @@ import Model, { attr } from '@ember-data/model'; -import { computed, get } from '@ember/object'; +import { computed } from '@ember/object'; import { tracked } from '@glimmer/tracking'; export const PRIMARY_KEY = 'uid'; diff --git a/ui/packages/consul-ui/app/routes/dc/services/show.js b/ui/packages/consul-ui/app/routes/dc/services/show.js index 18bc16267..b5b37cc2e 100644 --- a/ui/packages/consul-ui/app/routes/dc/services/show.js +++ b/ui/packages/consul-ui/app/routes/dc/services/show.js @@ -1,7 +1,7 @@ import { inject as service } from '@ember/service'; import Route from 'consul-ui/routing/route'; import { get } from '@ember/object'; -import { action, setProperties } from '@ember/object'; +import { action } from '@ember/object'; export default class ShowRoute extends Route { @service('data-source/service') data; @@ -10,7 +10,6 @@ export default class ShowRoute extends Route { @action async createIntention(source, destination) { - const intention = service.Intention; const model = this.repo.create({ Datacenter: source.Datacenter, SourceName: source.Name, diff --git a/ui/packages/consul-ui/app/serializers/node.js b/ui/packages/consul-ui/app/serializers/node.js index e65a45cda..6e8f32a0e 100644 --- a/ui/packages/consul-ui/app/serializers/node.js +++ b/ui/packages/consul-ui/app/serializers/node.js @@ -23,9 +23,10 @@ export default class NodeSerializer extends Serializer.extend(EmbeddedRecordsMix }; transformHasManyResponse(store, relationship, item, parent = null) { + let checks = {}; + let serializer; switch (relationship.key) { case 'Services': - const checks = {}; (item.Checks || []) .filter(item => { return item.ServiceID !== ''; @@ -36,7 +37,7 @@ export default class NodeSerializer extends Serializer.extend(EmbeddedRecordsMix } checks[item.ServiceID].push(item); }); - const serializer = this.store.serializerFor(relationship.type); + serializer = this.store.serializerFor(relationship.type); item.Services = item.Services.map(service => serializer.transformHasManyResponseFromNode(item, service, checks) ); diff --git a/ui/packages/consul-ui/app/services/repository/service-instance.js b/ui/packages/consul-ui/app/services/repository/service-instance.js index 3515903cc..ba2ac8c89 100644 --- a/ui/packages/consul-ui/app/services/repository/service-instance.js +++ b/ui/packages/consul-ui/app/services/repository/service-instance.js @@ -1,6 +1,6 @@ import RepositoryService from 'consul-ui/services/repository'; import { inject as service } from '@ember/service'; -import { set, get } from '@ember/object'; +import { set } from '@ember/object'; const modelName = 'service-instance'; export default class ServiceInstanceService extends RepositoryService { diff --git a/ui/packages/consul-ui/blueprints/adapter-test/index.js b/ui/packages/consul-ui/blueprints/adapter-test/index.js index db9261ce1..fcdb84f3c 100644 --- a/ui/packages/consul-ui/blueprints/adapter-test/index.js +++ b/ui/packages/consul-ui/blueprints/adapter-test/index.js @@ -1,6 +1,4 @@ -const path = require('path'); - -const testInfo = require('ember-cli-test-info'); +/*eslint node/no-extraneous-require: "off"*/ const useTestFrameworkDetector = require('@ember-data/private-build-infra/src/utilities/test-framework-detector'); module.exports = useTestFrameworkDetector({ diff --git a/ui/packages/consul-ui/blueprints/adapter/index.js b/ui/packages/consul-ui/blueprints/adapter/index.js index e718c544f..d4fe91847 100644 --- a/ui/packages/consul-ui/blueprints/adapter/index.js +++ b/ui/packages/consul-ui/blueprints/adapter/index.js @@ -1,7 +1,5 @@ -/*eslint node/no-extraneous-require: "off"*/ 'use strict'; -const path = require('path'); module.exports = { description: 'Generates a Consul HTTP ember-data adapter', diff --git a/ui/packages/consul-ui/blueprints/model-test/index.js b/ui/packages/consul-ui/blueprints/model-test/index.js index df90b56ee..2a45c318c 100644 --- a/ui/packages/consul-ui/blueprints/model-test/index.js +++ b/ui/packages/consul-ui/blueprints/model-test/index.js @@ -1,5 +1,4 @@ -const path = require('path'); - +/*eslint node/no-extraneous-require: "off"*/ const useTestFrameworkDetector = require('@ember-data/private-build-infra/src/utilities/test-framework-detector'); module.exports = useTestFrameworkDetector({ diff --git a/ui/packages/consul-ui/blueprints/model/index.js b/ui/packages/consul-ui/blueprints/model/index.js index f57d80179..4d0c6e185 100644 --- a/ui/packages/consul-ui/blueprints/model/index.js +++ b/ui/packages/consul-ui/blueprints/model/index.js @@ -1,7 +1,5 @@ -/*eslint node/no-extraneous-require: "off"*/ 'use strict'; -const path = require('path'); module.exports = { description: 'Generates a Consul HTTP ember-data model', diff --git a/ui/packages/consul-ui/blueprints/repository-test/index.js b/ui/packages/consul-ui/blueprints/repository-test/index.js index 608090ed1..a35d3b9ab 100644 --- a/ui/packages/consul-ui/blueprints/repository-test/index.js +++ b/ui/packages/consul-ui/blueprints/repository-test/index.js @@ -1,5 +1,4 @@ -const path = require('path'); - +/*eslint node/no-extraneous-require: "off"*/ const useTestFrameworkDetector = require('@ember-data/private-build-infra/src/utilities/test-framework-detector'); module.exports = useTestFrameworkDetector({ diff --git a/ui/packages/consul-ui/blueprints/serializer-test/index.js b/ui/packages/consul-ui/blueprints/serializer-test/index.js index 99f321a20..052ce5357 100644 --- a/ui/packages/consul-ui/blueprints/serializer-test/index.js +++ b/ui/packages/consul-ui/blueprints/serializer-test/index.js @@ -1,5 +1,4 @@ -const path = require('path'); - +/*eslint node/no-extraneous-require: "off"*/ const useTestFrameworkDetector = require('@ember-data/private-build-infra/src/utilities/test-framework-detector'); module.exports = useTestFrameworkDetector({ diff --git a/ui/packages/consul-ui/blueprints/serializer/index.js b/ui/packages/consul-ui/blueprints/serializer/index.js index b2c51f152..c9df3ae22 100644 --- a/ui/packages/consul-ui/blueprints/serializer/index.js +++ b/ui/packages/consul-ui/blueprints/serializer/index.js @@ -1,7 +1,5 @@ -/*eslint node/no-extraneous-require: "off"*/ 'use strict'; -const path = require('path'); module.exports = { description: 'Generates a Consul HTTP ember-data serializer', diff --git a/ui/packages/consul-ui/lib/colocated-components/index.js b/ui/packages/consul-ui/lib/colocated-components/index.js index 487be45eb..33428463f 100644 --- a/ui/packages/consul-ui/lib/colocated-components/index.js +++ b/ui/packages/consul-ui/lib/colocated-components/index.js @@ -1,3 +1,4 @@ +/*eslint node/no-extraneous-require: "off"*/ 'use strict'; const Funnel = require('broccoli-funnel'); diff --git a/ui/packages/consul-ui/lib/startup/index.js b/ui/packages/consul-ui/lib/startup/index.js index fefb117ae..c9601e4bd 100644 --- a/ui/packages/consul-ui/lib/startup/index.js +++ b/ui/packages/consul-ui/lib/startup/index.js @@ -1,4 +1,5 @@ /* eslint-env node */ +/*eslint node/no-extraneous-require: "off"*/ 'use strict'; // const $ = process.env; diff --git a/ui/packages/consul-ui/node-tests/config/environment.js b/ui/packages/consul-ui/node-tests/config/environment.js index 6b5b5fca2..d29066476 100644 --- a/ui/packages/consul-ui/node-tests/config/environment.js +++ b/ui/packages/consul-ui/node-tests/config/environment.js @@ -1,3 +1,5 @@ +/* eslint-env node */ + const test = require('tape'); const getEnvironment = require('../../config/environment.js'); diff --git a/ui/packages/consul-ui/node-tests/config/utils.js b/ui/packages/consul-ui/node-tests/config/utils.js index d9bf3a8a7..bdb51f54d 100644 --- a/ui/packages/consul-ui/node-tests/config/utils.js +++ b/ui/packages/consul-ui/node-tests/config/utils.js @@ -1,3 +1,5 @@ +/* eslint-env node */ + const test = require('tape'); const utils = require('../../config/utils.js'); diff --git a/ui/packages/consul-ui/package.json b/ui/packages/consul-ui/package.json index b3b448412..ad8925a94 100644 --- a/ui/packages/consul-ui/package.json +++ b/ui/packages/consul-ui/package.json @@ -13,7 +13,7 @@ "build:staging": "ember build --environment staging", "build:ci": "ember build --environment test", "doc:toc": "doctoc README.md", - "lint": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*", + "lint": "FORCE_COLOR=1 npm-run-all --aggregate-output --continue-on-error --parallel lint:*", "lint:hbs": "ember-template-lint .", "lint:js": "eslint .", "_lint:dev:js": "eslint -c .dev.eslintrc.js --fix ./*.js ./.*.js app config lib server tests", @@ -25,13 +25,14 @@ "start:consul": "ember serve --proxy=${CONSUL_HTTP_ADDR:-http://localhost:8500} --port=${EMBER_SERVE_PORT:-4200} --live-reload-port=${EMBER_LIVE_RELOAD_PORT:-7020}", "start:api": "api-double --dir ./node_modules/@hashicorp/consul-api-double", "test": "ember test --test-port=${EMBER_TEST_PORT:-7357}", + "test:lint": "yarn run lint", "test:oss": "CONSUL_NSPACES_ENABLED=0 ember test --test-port=${EMBER_TEST_PORT:-7357}", "test:ci": "ember test --test-port=${EMBER_TEST_PORT:-7357} --path dist --silent --reporter xunit", "test:oss:ci": "CONSUL_NSPACES_ENABLED=0 ember test --test-port=${EMBER_TEST_PORT:-7357} --path dist --silent --reporter xunit", "test:parallel": "EMBER_EXAM_PARALLEL=true ember exam --split=4 --parallel", "test:view": "ember test --server --test-port=${EMBER_TEST_PORT:-7357}", "test:oss:view": "CONSUL_NSPACES_ENABLED=0 ember test --server --test-port=${EMBER_TEST_PORT:-7357}", - "test:node": "tape ./node-tests/**/*.js", + "test:node": "yarn run test:lint && tape ./node-tests/**/*.js", "test:coverage": "COVERAGE=true ember test --environment test --filter=Unit --test-port=${EMBER_TEST_PORT:-7357}", "test:coverage:ci": "COVERAGE=true ember test --environment test --filter=Unit --path dist --test-port=${EMBER_TEST_PORT:-7357}", "test:coverage:view": "COVERAGE=true ember test --server --environment test --filter=Unit --test-port=${EMBER_TEST_PORT:-7357}", diff --git a/ui/packages/consul-ui/server/index.js b/ui/packages/consul-ui/server/index.js index d2a344eb2..56f8bcebc 100644 --- a/ui/packages/consul-ui/server/index.js +++ b/ui/packages/consul-ui/server/index.js @@ -1,3 +1,4 @@ +/*eslint node/no-extraneous-require: "off"*/ 'use strict'; const fs = require('fs'); const promisify = require('util').promisify; diff --git a/ui/packages/consul-ui/tests/integration/serializers/node-test.js b/ui/packages/consul-ui/tests/integration/serializers/node-test.js index c44d3ce47..4b40854cf 100644 --- a/ui/packages/consul-ui/tests/integration/serializers/node-test.js +++ b/ui/packages/consul-ui/tests/integration/serializers/node-test.js @@ -49,17 +49,6 @@ module('Integration | Serializer | node', function(hooks) { url: `/v1/internal/ui/node/${id}?dc=${dc}`, }; return get(request.url).then(function(payload) { - const expected = Object.assign({}, payload, { - Datacenter: dc, - [META]: { - [DC.toLowerCase()]: dc, - [NSPACE.toLowerCase()]: nspace, - }, - // TODO: default isn't required here, once we've - // refactored out our Serializer this can go - Namespace: nspace, - uid: `["${nspace}","${dc}","${id}"]`, - }); const actual = serializer.respondForQueryRecord( function(cb) { const headers = {}; diff --git a/ui/packages/consul-ui/tests/steps/assertions/form.js b/ui/packages/consul-ui/tests/steps/assertions/form.js index 9c4ddec69..377b1ca02 100644 --- a/ui/packages/consul-ui/tests/steps/assertions/form.js +++ b/ui/packages/consul-ui/tests/steps/assertions/form.js @@ -1,21 +1,17 @@ export default function(scenario, assert, find, currentPage) { scenario.then('I see the $property form with yaml\n$yaml', function(property, data) { + let obj; try { - let obj; - try { - obj = find(property); - } catch (e) { - obj = currentPage(); - } - return Object.keys(data).reduce(function(prev, item, i, arr) { - const name = `${obj.prefix || property}[${item}]`; - const $el = document.querySelector(`[name="${name}"]`); - const actual = $el.value; - const expected = data[item]; - assert.strictEqual(actual, expected, `Expected settings to be ${expected} was ${actual}`); - }, obj); + obj = find(property); } catch (e) { - throw e; + obj = currentPage(); } + return Object.keys(data).reduce(function(prev, item, i, arr) { + const name = `${obj.prefix || property}[${item}]`; + const $el = document.querySelector(`[name="${name}"]`); + const actual = $el.value; + const expected = data[item]; + assert.strictEqual(actual, expected, `Expected settings to be ${expected} was ${actual}`); + }, obj); }); } diff --git a/ui/packages/consul-ui/tests/steps/assertions/page.js b/ui/packages/consul-ui/tests/steps/assertions/page.js index 24cb0f651..939289bc2 100644 --- a/ui/packages/consul-ui/tests/steps/assertions/page.js +++ b/ui/packages/consul-ui/tests/steps/assertions/page.js @@ -189,14 +189,12 @@ export default function(scenario, assert, find, currentPage, $) { ], function(property, component, containsLike, value) { let target; - try { - if (typeof component === 'string') { - property = `${component}.${property}`; - } - target = find(property); - } catch (e) { - throw e; + + if (typeof component === 'string') { + property = `${component}.${property}`; } + target = find(property); + if (containsLike === 'like') { assert.equal( target, diff --git a/ui/packages/consul-ui/tests/steps/interactions/click.js b/ui/packages/consul-ui/tests/steps/interactions/click.js index d1ef934f4..773a9763f 100644 --- a/ui/packages/consul-ui/tests/steps/interactions/click.js +++ b/ui/packages/consul-ui/tests/steps/interactions/click.js @@ -11,14 +11,10 @@ export default function(scenario, find, click) { 'I click $property on the $component component', ], function(property, component, next) { - try { - if (typeof component === 'string') { - property = `${component}.${property}`; - } - return find(property)(); - } catch (e) { - throw e; + if (typeof component === 'string') { + property = `${component}.${property}`; } + return find(property)(); } ); } diff --git a/ui/packages/consul-ui/tests/steps/interactions/form.js b/ui/packages/consul-ui/tests/steps/interactions/form.js index 8b9708d35..59edeb37e 100644 --- a/ui/packages/consul-ui/tests/steps/interactions/form.js +++ b/ui/packages/consul-ui/tests/steps/interactions/form.js @@ -37,41 +37,37 @@ export default function(scenario, find, fillIn, triggerKeyEvent, currentPage) { `I${dont} fill in the $property on the $component component with yaml\n$yaml`, ], function(negative, property, component, data, next) { - try { - switch (true) { - case typeof component === 'string': - property = `${component}.${property}`; - // fallthrough - case typeof data === 'undefined': - data = component; - // // fallthrough - // case typeof property !== 'string': - // data = property; - } - let obj; - try { - obj = find(property); - } catch (e) { - obj = currentPage(); - } - return Object.keys(data).reduce(function(prev, item, i, arr) { - const name = `${obj.prefix || property}[${item}]`; - if (negative) { - try { - fillInElement(prev, name, data[item]); - throw new TypeError(`${item} is editable`); - } catch (e) { - if (e instanceof TypeError) { - throw e; - } - } - } else { - return fillInElement(prev, name, data[item]); - } - }, obj); - } catch (e) { - throw e; + switch (true) { + case typeof component === 'string': + property = `${component}.${property}`; + // fallthrough + case typeof data === 'undefined': + data = component; + // // fallthrough + // case typeof property !== 'string': + // data = property; } + let obj; + try { + obj = find(property); + } catch (e) { + obj = currentPage(); + } + return Object.keys(data).reduce(function(prev, item, i, arr) { + const name = `${obj.prefix || property}[${item}]`; + if (negative) { + try { + fillInElement(prev, name, data[item]); + throw new TypeError(`${item} is editable`); + } catch (e) { + if (e instanceof TypeError) { + throw e; + } + } + } else { + return fillInElement(prev, name, data[item]); + } + }, obj); } ) .then(['I type "$text" into "$selector"'], function(text, selector) {