2018-08-09 10:41:52 -07:00
|
|
|
import { module, test } from 'qunit';
|
|
|
|
import { setupRenderingTest } from 'ember-qunit';
|
2018-08-09 23:25:55 -07:00
|
|
|
import { render, find } from '@ember/test-helpers';
|
2018-04-09 19:04:11 -07:00
|
|
|
import hbs from 'htmlbars-inline-precompile';
|
|
|
|
import avatars from 'wherehows-web/mirage/fixtures/avatars';
|
|
|
|
|
2018-09-13 09:40:54 -07:00
|
|
|
const [avatar] = avatars;
|
|
|
|
const expectedAvatarElementClassName = '.avatar';
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-08-09 10:41:52 -07:00
|
|
|
module('Integration | Component | avatars/avatar image', function(hooks) {
|
|
|
|
setupRenderingTest(hooks);
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-08-09 10:41:52 -07:00
|
|
|
test('avatar-image render', async function(assert) {
|
|
|
|
let avatarImage;
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-08-09 10:41:52 -07:00
|
|
|
await render(hbs`{{avatars/avatar-image}}`);
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-09-13 09:40:54 -07:00
|
|
|
avatarImage = find(expectedAvatarElementClassName);
|
2018-08-09 10:41:52 -07:00
|
|
|
assert.ok(avatarImage, 'it renders with expected className');
|
|
|
|
assert.equal(avatarImage.tagName.toLowerCase(), 'img', 'it renders with expected element');
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-08-09 10:41:52 -07:00
|
|
|
this.set('avatar', avatar);
|
|
|
|
await render(hbs`{{avatars/avatar-image avatar=avatar}}`);
|
2018-04-09 19:04:11 -07:00
|
|
|
|
2018-09-13 09:40:54 -07:00
|
|
|
avatarImage = find(expectedAvatarElementClassName);
|
2018-08-09 10:41:52 -07:00
|
|
|
assert.equal(avatarImage.getAttribute('alt'), avatar.name, 'alt attribute is bound to avatar name');
|
|
|
|
assert.equal(avatarImage.getAttribute('src'), avatar.imageUrl, 'src attribute is bound to avatar imageUrl');
|
|
|
|
});
|
2018-09-13 09:40:54 -07:00
|
|
|
|
|
|
|
test('image fallback', async function(assert) {
|
|
|
|
const { imageUrlFallback } = avatar;
|
|
|
|
|
|
|
|
this.set('avatar', { ...avatar, imageUrl: '' });
|
|
|
|
await render(hbs`{{avatars/avatar-image avatar=avatar}}`);
|
|
|
|
|
|
|
|
assert.equal(
|
|
|
|
find(expectedAvatarElementClassName).getAttribute('src'),
|
|
|
|
imageUrlFallback,
|
|
|
|
'src attribute is set to fallback url avatar'
|
|
|
|
);
|
|
|
|
});
|
2018-04-09 19:04:11 -07:00
|
|
|
});
|