Merge pull request #124 from glitch-soc/data-avatar-of
all checks have failed woooooo \*merges*th-downstream
commit
e021f32556
@ -1,20 +1,42 @@
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { render } from 'enzyme';
|
import { render } from 'enzyme';
|
||||||
|
import { fromJS } from 'immutable';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Avatar from '../../../app/javascript/mastodon/components/avatar';
|
import Avatar from '../../../app/javascript/mastodon/components/avatar';
|
||||||
|
|
||||||
describe('<Avatar />', () => {
|
describe('<Avatar />', () => {
|
||||||
const src = '/path/to/image.jpg';
|
const account = fromJS({
|
||||||
|
username: 'alice',
|
||||||
|
acct: 'alice',
|
||||||
|
display_name: 'Alice',
|
||||||
|
avatar: '/animated/alice.gif',
|
||||||
|
avatar_static: '/static/alice.jpg',
|
||||||
|
});
|
||||||
const size = 100;
|
const size = 100;
|
||||||
const wrapper = render(<Avatar src={src} animate size={size} />);
|
const animated = render(<Avatar account={account} animate size={size} />);
|
||||||
|
const still = render(<Avatar account={account} size={size} />);
|
||||||
|
|
||||||
|
// Autoplay
|
||||||
it('renders a div element with the given src as background', () => {
|
it('renders a div element with the given src as background', () => {
|
||||||
expect(wrapper.find('div')).to.have.style('background-image', `url(${src})`);
|
expect(animated.find('div')).to.have.style('background-image', `url(${account.get('avatar')})`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('renders a div element of the given size', () => {
|
it('renders a div element of the given size', () => {
|
||||||
['width', 'height'].map((attr) => {
|
['width', 'height'].map((attr) => {
|
||||||
expect(wrapper.find('div')).to.have.style(attr, `${size}px`);
|
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`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO add autoplay test if possible
|
||||||
});
|
});
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
import { expect } from 'chai';
|
||||||
|
import { render } from 'enzyme';
|
||||||
|
import { fromJS } from 'immutable';
|
||||||
|
import React from 'react';
|
||||||
|
import AvatarOverlay from '../../../app/javascript/mastodon/components/avatar_overlay';
|
||||||
|
|
||||||
|
describe('<Avatar />', () => {
|
||||||
|
const account = fromJS({
|
||||||
|
username: 'alice',
|
||||||
|
acct: 'alice',
|
||||||
|
display_name: 'Alice',
|
||||||
|
avatar: '/animated/alice.gif',
|
||||||
|
avatar_static: '/static/alice.jpg',
|
||||||
|
});
|
||||||
|
const friend = fromJS({
|
||||||
|
username: 'eve',
|
||||||
|
acct: 'eve@blackhat.lair',
|
||||||
|
display_name: 'Evelyn',
|
||||||
|
avatar: '/animated/eve.gif',
|
||||||
|
avatar_static: '/static/eve.jpg',
|
||||||
|
});
|
||||||
|
|
||||||
|
const overlay = render(<AvatarOverlay account={account} friend={friend} />);
|
||||||
|
|
||||||
|
it('renders account static src as base of overlay avatar', () => {
|
||||||
|
expect(overlay.find('.account__avatar-overlay-base'))
|
||||||
|
.to.have.style('background-image', `url(${account.get('avatar_static')})`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders friend static src as overlay of overlay avatar', () => {
|
||||||
|
expect(overlay.find('.account__avatar-overlay-overlay'))
|
||||||
|
.to.have.style('background-image', `url(${friend.get('avatar_static')})`);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in new issue