jimu-mobile
Version:
积木组件库助力移动端开发
61 lines (52 loc) • 2.27 kB
JavaScript
import React from 'react';
import { shallow } from 'enzyme';
import assert from 'assert';
import JIMU from '../src/index';
const { Switch } = JIMU
describe('<Switch></Switch>', ()=> {
[true,false].map(isOpen => {
[true,false].map(disabled => {
describe(`<Switch disabled=${disabled} isOpen=${isOpen} ></Switch>`, ()=> {
let value ,
openVal = 0,
closeVal = 1,
cb = v => value = v
const wrapper = shallow(
<Switch disabled={disabled} isOpen={isOpen} clickBack={cb} openVal={openVal} closeVal={closeVal}></Switch>
);
it(`should render <Switch></Switch> component`, ()=> {
assert(wrapper.find('.ui-switch').length > 0);
});
it(`查看 展开状态 class是否正确添加`, ()=>{
if (isOpen) {
assert(wrapper.find('.ui-switch').hasClass("switch-open"));
assert(!wrapper.find('.ui-switch').hasClass("switch-close"));
}else{
assert(wrapper.find('.ui-switch').hasClass("switch-close"));
assert(!wrapper.find('.ui-switch').hasClass("switch-open"));
}
});
it(`查看 禁用状态 class是否正确添加`, ()=>{
// 禁用状态
if (disabled) {
assert(wrapper.find('.ui-switch').hasClass("switch-disabled"));
}else{
assert(!wrapper.find('.ui-switch').hasClass("switch-disabled"));
}
});
// 尝试点击
it(`尝试点击`, ()=>{
wrapper.find('.ui-switch').simulate('click');
if (!disabled){
assert(value.isOpen !== isOpen)
if (isOpen) {
assert(value.radioVal === closeVal)
}else{
assert(value.radioVal === openVal)
}
}
});
})
})
});
});