Skip to content

Commit deb3fee

Browse files
author
Dave Connis
authored
Merge pull request #1628 from code-corps/rewrite-integration-tests-for-donation-goals-activation-test-component
Rewrite integration tests for donation-goals-activation-test component
2 parents 8a2130d + 7f7287e commit deb3fee

File tree

3 files changed

+30
-15
lines changed

3 files changed

+30
-15
lines changed

app/templates/components/donation-goals-activation.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<section>
99
<p>You've added goals. Just say the word and start accepting donations now.</p>
10-
<button class="default activate-donations" {{action (action activateDonations)}}>Turn on donations</button>
10+
<button class="default activate-donations" data-test-activate-donations {{action (action activateDonations)}} >Turn on donations</button>
1111
</section>
1212
</section>
1313
</div>
Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
import { set } from '@ember/object';
22
import { moduleForComponent, test } from 'ember-qunit';
33
import hbs from 'htmlbars-inline-precompile';
4+
import PageObject from 'ember-cli-page-object';
5+
import donationGoalsActivation from 'code-corps-ember/tests/pages/component/donation-goals-activation';
6+
7+
let page = PageObject.create(donationGoalsActivation);
8+
9+
function renderPage() {
10+
page.render(hbs`
11+
{{donation-goals-activation
12+
activateDonations=activateDonationsHandler
13+
canActivateDonations=canActivateDonations
14+
}}
15+
`);
16+
}
417

518
function setHandlers(context, { activateDonationsHandler = function() {} } = {}) {
619
set(context, 'activateDonationsHandler', activateDonationsHandler);
@@ -9,7 +22,11 @@ function setHandlers(context, { activateDonationsHandler = function() {} } = {})
922
moduleForComponent('donation-goals-activation', 'Integration | Component | donation goals activation', {
1023
integration: true,
1124
beforeEach() {
25+
page.setContext(this);
1226
setHandlers(this);
27+
},
28+
afterEach() {
29+
page.removeContext();
1330
}
1431
});
1532

@@ -23,28 +40,19 @@ test('it allows activating donations if canActivateDonations is true', function(
2340
setHandlers(this, { activateDonationsHandler });
2441
set(this, 'canActivateDonations', true);
2542

26-
this.render(hbs`
27-
{{donation-goals-activation
28-
activateDonations=activateDonationsHandler
29-
canActivateDonations=canActivateDonations
30-
}}
31-
`);
43+
renderPage();
3244

33-
assert.equal(this.$('.activate-donations').length, 1, 'The "activate donations" button is rendered');
45+
assert.ok(page.activateDonationsButton.isVisible, 'The "activate donations" button is rendered');
3446

35-
this.$('.activate-donations').click();
47+
page.activateDonationsButton.click();
3648
});
3749

3850
test('it prevents activating donations if canActivateDonations is false', function(assert) {
3951
assert.expect(1);
4052

4153
set(this, 'canActivateDonations', false);
4254

43-
this.render(hbs`
44-
{{donation-goals-activation
45-
canActivateDonations=canActivateDonations
46-
}}
47-
`);
55+
renderPage();
4856

49-
assert.equal(this.$('.activate-donations').length, 0, 'The "activate donations" button is not rendered');
57+
assert.notOk(page.activateDonationsButton.isVisible, 'The "activate donations" button is not rendered');
5058
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default {
2+
scope: '.donation-goals-activation',
3+
4+
activateDonationsButton: {
5+
scope: '[data-test-activate-donations]'
6+
}
7+
};

0 commit comments

Comments
 (0)