import React from 'react';
import {expect} from 'chai';
import ResolutionView from "../../../src/component/resolution-drop-down/resolution-view";
import {shallow} from "enzyme";
describe('ResolutionViewSpec', () => {
let wrapper;
beforeEach(() => {
wrapper = shallow(<ResolutionView menuOpened={false}/>)
});
describe('resolution exists', () => {
let title;
let resolution;
beforeEach(() => {
wrapper.setProps({resolution: {value: 'QHD', text: '1920x1050', orientation: 'horizontal'}});
title = wrapper.find('.resolution-drop-down-selected__title');
resolution = wrapper.find('.resolution-drop-down-selected__resolution');
});
it('shows {value, text} of resolution', () => {
expect(title.text()).to.equal('QHD');
expect(resolution.text()).to.equal('1920x1050');
});
it('gives selected class for given orientation', () => {
let selectedOrientation = wrapper.find('.resolution-drop-down-selected').childAt(2);
expect(selectedOrientation.hasClass('resolution-drop-down-selected__horizontal')).to.be.true;
wrapper.setProps({resolution: {value: 'QHD', text: '1920x1050', orientation: 'vertical'}});
selectedOrientation = wrapper.find('.resolution-drop-down-selected').childAt(2);
expect(selectedOrientation.hasClass('resolution-drop-down-selected__vertical')).to.be.true;
});
it('does not show placeholder', () => {
expect(wrapper.find('.resolution-drop-down__placeholder').exists()).to.be.false;
});
});
describe('resolution not exist', () => {
it('shows "Target Resolution" as placeholder', () => {
expect(wrapper.find('.resolution-drop-down__placeholder').text()).to.equal('Target Resolution');
});
});
describe('menu status', () => {
it('shows ▼ when menu is closed', () => {
wrapper.setProps({menuOpened: false});
expect(wrapper.find('.resolution-drop-down__arrow').text()).to.equal('▼');
});
it('shows ▲ when menu is opened', () => {
wrapper.setProps({menuOpened: true});
expect(wrapper.find('.resolution-drop-down__arrow').text()).to.equal('▲');
});
});
}); |