mastodon/spec/javascript/components/avatar.test.js

43 lines
1.4 KiB
JavaScript
Raw Normal View History

import { expect } from 'chai';
import { render } from 'enzyme';
2017-08-06 20:59:19 +02:00
import { fromJS } from 'immutable';
import React from 'react';
import Avatar from '../../../app/javascript/mastodon/components/avatar';
2016-10-10 22:46:37 +02:00
describe('<Avatar />', () => {
2017-08-06 20:59:19 +02:00
const account = fromJS({
username: 'alice',
acct: 'alice',
display_name: 'Alice',
avatar: '/animated/alice.gif',
avatar_static: '/static/alice.jpg',
});
const size = 100;
2017-08-06 20:59:19 +02:00
const animated = render(<Avatar account={account} animate size={size} />);
const still = render(<Avatar account={account} size={size} />);
2017-08-06 20:59:19 +02:00
// Autoplay
it('renders a div element with the given src as background', () => {
2017-08-06 20:59:19 +02:00
expect(animated.find('div')).to.have.style('background-image', `url(${account.get('avatar')})`);
});
it('renders a div element of the given size', () => {
['width', 'height'].map((attr) => {
2017-08-06 20:59:19 +02:00
expect(animated.find('div')).to.have.style(attr, `${size}px`);
});
});
// Still
it('renders a div element with the given static src as background if not autoplay', () => {
expect(still.find('div')).to.have.style('background-image', `url(${account.get('avatar_static')})`);
});
it('renders a div element of the given size if not autoplay', () => {
['width', 'height'].map((attr) => {
expect(still.find('div')).to.have.style(attr, `${size}px`);
});
});
2017-08-06 20:59:19 +02:00
// TODO add autoplay test if possible
});