From af0cd8643be21df3cc7de8ba059eb874b16e4b50 Mon Sep 17 00:00:00 2001 From: Sergey Astapov Date: Tue, 27 Feb 2018 16:17:02 +0200 Subject: [PATCH] Fix New Style testing helpers usage to support integration tests --- README.md | 2 +- addon-test-support/-private/enable-feature.js | 4 ++++ addon-test-support/helpers/with-feature.js | 4 ++-- addon-test-support/index.js | 9 ++++++--- tests/acceptance/feature-flags-new-style-test.js | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 addon-test-support/-private/enable-feature.js diff --git a/README.md b/README.md index e2b26fe..5b1efec 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ module('Acceptance | Awesome page', function(hooks) { setupApplicationTest(hooks); test('links go to the new homepage', async function (assert) { - enableFeature(this.owner, 'new-homepage'); + enableFeature('new-homepage'); await visit('/'); await click('a.home'); diff --git a/addon-test-support/-private/enable-feature.js b/addon-test-support/-private/enable-feature.js new file mode 100644 index 0000000..9c126d1 --- /dev/null +++ b/addon-test-support/-private/enable-feature.js @@ -0,0 +1,4 @@ +export function _enableFeature(owner, featureName) { + let featuresService = owner.lookup('service:features'); + featuresService.enable(featureName); +} diff --git a/addon-test-support/helpers/with-feature.js b/addon-test-support/helpers/with-feature.js index 26b2968..5809c50 100644 --- a/addon-test-support/helpers/with-feature.js +++ b/addon-test-support/helpers/with-feature.js @@ -1,6 +1,6 @@ import { registerHelper } from '@ember/test'; -import { enableFeature } from '../index'; +import { _enableFeature } from '../-private/enable-feature'; registerHelper('withFeature', function withFeature(app, featureName) { - enableFeature(app.__container__, featureName); + _enableFeature(app.__deprecatedInstance__, featureName); }); diff --git a/addon-test-support/index.js b/addon-test-support/index.js index af0052d..edda454 100644 --- a/addon-test-support/index.js +++ b/addon-test-support/index.js @@ -1,4 +1,7 @@ -export function enableFeature(owner, featureName) { - let featuresService = owner.lookup('service:features'); - featuresService.enable(featureName); +import { getContext } from '@ember/test-helpers'; +import { _enableFeature } from './-private/enable-feature'; + +export function enableFeature(featureName) { + let { owner } = getContext(); + _enableFeature(owner, featureName); } diff --git a/tests/acceptance/feature-flags-new-style-test.js b/tests/acceptance/feature-flags-new-style-test.js index d500a3f..4633539 100644 --- a/tests/acceptance/feature-flags-new-style-test.js +++ b/tests/acceptance/feature-flags-new-style-test.js @@ -7,7 +7,7 @@ module('Acceptance | feature flags with new-style acceptance tests', function(ho setupApplicationTest(hooks); test('visiting / with acceptance-feature on', async function(assert) { - enableFeature(this.owner, 'acceptance-feature'); + enableFeature('acceptance-feature'); await visit('/');