import chai, { expect } from "chai";
import Vue from 'vue'
import sinon from 'sinon'
import sinonChai from 'sinon-chai'
chai.use(sinonChai)
import { mount } from "@vue/test-utils"
import Popover from "@/popover.vue";
describe("Popover.vue", () => {
it('存在.', () => {
expect(Popover).to.exist
})
it('可以设置position.', async () => {
const wrapper = mount(Popover, {
slots: {
default: { template: `<button>点我66</button>` },
content: '<div>弹出内容123</div>'
},
propsData: {
position: 'right'
}
})
wrapper.find('button').trigger('click')
await wrapper.vm.$nextTick()
const contentWrapper = document.getElementById('contentWrapper')
expect(contentWrapper.classList.contains('rightPosition')).to.equal(true)
//移除该弹窗框在document的节点
document.getElementById("contentWrapper").parentNode.removeChild(document.getElementById("contentWrapper"))
})
it('可以设置trigger.', async () => {
const wrapper = mount(Popover, {
slots: {
default: { template: `<button>点我66</button>` },
content: '<div>弹出内容123</div>'
},
propsData: {
position: 'right',
trigger: 'hover'
}
})
expect(document.getElementById('contentWrapper')).to.not.exist
wrapper.find('.popover').trigger('mouseenter')
await wrapper.vm.$nextTick()
expect(document.getElementById('contentWrapper')).to.exist
})
});
|