import { mount } from '@vue/test-utils' import { describe, expect, test } from 'vitest' import Card from '../src/card.vue' const AXIOM = 'Rem is the best girl' describe('Card.vue', () => { test('render test', () => { const wrapper = mount(() => {AXIOM}) expect(wrapper.text()).toEqual(AXIOM) }) test('string header', () => { const header = 'I am header' const wrapper = mount(() => {AXIOM}) expect(wrapper.text()).toContain(header) }) test('vnode header', () => { const headerCls = 'header-text' const btnCls = 'test-btn' const wrapper = mount(() => ( AXIOM, header: () => (
card header
), }} /> )) expect(wrapper.find('.header-text').exists()).toBe(true) expect(wrapper.find('.test-btn').exists()).toBe(true) }) test('body style', () => { const style = 'font-size: 14px;' const wrapper = mount(() => {AXIOM}) expect(wrapper.find('.el-card__body').attributes('style')).toBe(style) }) test('body style with object', () => { const style = { 'font-size': '14px' } const wrapper = mount(() => {AXIOM}) expect(wrapper.find('.el-card__body').attributes('style')).toBe( 'font-size: 14px;' ) }) test('body style with array', () => { const style = [{ 'font-size': '14px' }, { color: 'blue' }] const wrapper = mount(() => {AXIOM}) expect( wrapper.find('.el-card__body').attributes('style')?.replace(/[ ]/g, '') ).toBe('font-size:14px;color:blue;') }) test('shadow', () => { const shadow = 'always' const wrapper = mount(() => {AXIOM}) expect(wrapper.find(`.is-${shadow}-shadow`).exists()).toBe(true) }) })