diff --git a/test-app/package.json b/test-app/package.json index 970e1ab..f95edd6 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -37,6 +37,7 @@ "@ember/optional-features": "^2.0.0", "@ember/string": "^3.1.1", "@ember/test-helpers": "^2.9.3", + "@embroider/macros": "^1.13.2", "@embroider/test-setup": "^2.0.2", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", diff --git a/test-app/tests/acceptance/routeable-engine-demo-refresh-test.js b/test-app/tests/acceptance/routeable-engine-demo-refresh-test.js index fd14c3c..6d52776 100644 --- a/test-app/tests/acceptance/routeable-engine-demo-refresh-test.js +++ b/test-app/tests/acceptance/routeable-engine-demo-refresh-test.js @@ -1,43 +1,71 @@ import { module, test } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; import { visit, find, click } from '@ember/test-helpers'; +import { macroCondition, dependencySatisfies } from '@embroider/macros'; module('Acceptance | Engine Router Service | Refresh Method', function (hooks) { setupApplicationTest(hooks); test('refresh without params triggers refresh with current route', async function (assert) { + assert.expect(1); + await visit('/routable-engine-demo/ember-blog/new'); let counter = await find('.route-refresh-counter').textContent; await click('.refresh'); - counter = parseInt(counter, 10); - counter = ++counter; - counter = counter.toString(); - assert.dom('.route-refresh-counter').hasText(counter); + if (macroCondition(dependencySatisfies('ember-source', '>= 4.1.0'))) { + counter = parseInt(counter, 10); + counter = ++counter; + counter = counter.toString(); + assert.dom('.route-refresh-counter').hasText(counter); + } else { + // eslint-disable-next-line qunit/no-conditional-assertions + assert.throws( + 'Refresh method is not available in ember-source below v4.1' + ); + } }); test('refresh with params triggers refresh on provided route', async function (assert) { + assert.expect(1); + await visit('/routable-engine-demo/ember-blog/new'); let counter = await find('.route-refresh-counter').textContent; await click('.refresh-route'); - counter = parseInt(counter, 10); - counter = ++counter; - counter = counter.toString(); - assert.dom('.route-refresh-counter').hasText(counter); + if (macroCondition(dependencySatisfies('ember-source', '>= 4.1.0'))) { + counter = parseInt(counter, 10); + counter = ++counter; + counter = counter.toString(); + assert.dom('.route-refresh-counter').hasText(counter); + } else { + // eslint-disable-next-line qunit/no-conditional-assertions + assert.throws( + 'Refresh method is not available in ember-source below v4.1' + ); + } }); test('refresh external route', async function (assert) { + assert.expect(1); + await visit('/routable-engine-demo/ember-blog/new'); let counter = await find('.route-refresh-counter').textContent; await click('.refresh-external'); - counter = parseInt(counter, 10); - counter = ++counter; - counter = counter.toString(); - assert.dom('.global-refresh-counter').hasText(counter); + if (macroCondition(dependencySatisfies('ember-source', '>= 4.1.0'))) { + counter = parseInt(counter, 10); + counter = ++counter; + counter = counter.toString(); + assert.dom('.global-refresh-counter').hasText(counter); + } else { + // eslint-disable-next-line qunit/no-conditional-assertions + assert.throws( + 'Refresh method is not available in ember-source below v4.1' + ); + } }); });