Skip to content

Instantly share code, notes, and snippets.

@jonpitch
Created July 28, 2016 22:05
Show Gist options
  • Save jonpitch/a4b76e258d0a03d58437898727c7313b to your computer and use it in GitHub Desktop.
Save jonpitch/a4b76e258d0a03d58437898727c7313b to your computer and use it in GitHub Desktop.
write better ember tests - page object
// without page object - bad
test('here is a test that does not use a page object', function(assert) {
this.render(hbs`{{my-component}}`);
const $button = this.$('#some-button-id');
const $description = this.$('p');
assert.ok($button.is(':visible'), 'I see the button');
assert.equal($description.text().trim(), 'Some text', 'The text is shown correctly');
});
// basic page object - better
test('here is another test with a basic page object', function(assert) {
this.render(hbs`{{my-component}}`);
const page = {
$button: this.$('#some-button-id'),
$description: this.$('p')
};
assert.ok(page.$button.is(':visible'), 'I see the button');
assert.equal(page.$description.text().trim(), 'Some text', 'The text is shown correctly');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment