entry_types/paged/packages/pageflow-paged-react/src/media/components/__spec__/PageBackgroundVideo-spec.jsx
import {PageBackgroundVideo} from '../PageBackgroundVideo';
import MobilePageVideoPoster from '../MobilePageVideoPoster';
import PageVideoPlayer from '../PageVideoPlayer';
import fileExistsFn from 'support/fileExistsFn';
import {shallow} from 'enzyme';
describe('PageBackgroundVideo', () => {
describe('on mobile platform', () => {
it('renders mobile poster if present', () => {
const props = {
page: {
mobilePosterImageId: 5
},
hasMobilePlatform: true,
hasAutoplaySupport: false,
fileExists: fileExistsFn({
imageFiles: [5]
})
};
const wrapper = shallow(<PageBackgroundVideo {...props} />);
expect(wrapper).toContainMatchingElement(MobilePageVideoPoster);
});
it('renders muted video player on mobile if no mobile poster is present', () => {
const props = {
page: {},
hasMobilePlatform: true,
hasAutoplaySupport: false,
fileExists: fileExistsFn({
imageFiles: []
})
};
const wrapper = shallow(<PageBackgroundVideo {...props} />);
expect(wrapper).toContainMatchingElement(PageVideoPlayer);
expect(wrapper.find(PageVideoPlayer)).toHaveProp('muted', true);
});
});
describe('on desktop platform', () => {
it('renders non muted video player even if mobile poster is present', () => {
const props = {
page: {
mobilePosterImageId: 5
},
hasMobilePlatform: false,
hasAutoplaySupport: true,
fileExists: fileExistsFn({
imageFiles: [5]
})
};
const wrapper = shallow(<PageBackgroundVideo {...props} />);
expect(wrapper).toContainMatchingElement(PageVideoPlayer);
expect(wrapper.find(PageVideoPlayer)).toHaveProp('muted', false);
});
});
});