VueTorrent/tests/unit/SpeedCard.spec.js

44 lines
1.7 KiB
JavaScript

import { describe, it, expect } from 'vitest'
import { setup } from '../helpers'
import { mdiChevronDown } from '@mdi/js'
import SpeedCard from '@/components/Core/SpeedCard.vue'
describe('SpeedCard.vue', () => {
it('should render the card', () => {
const wrapper = setup(SpeedCard)
expect(wrapper.find('[data-testid="SpeedCard"]').exists()).toBe(true)
})
it("shouldn't render the icon", () => {
const wrapper = setup(SpeedCard)
expect(wrapper.find('[data-testid="SpeedCard-icon"]').exists()).toBe(false)
})
it('should render the icon', () => {
const wrapper = setup(SpeedCard, { icon: mdiChevronDown })
expect(wrapper.find('[data-testid="SpeedCard-icon"]').exists()).toBe(true)
})
it('should render with 0 as value', () => {
const wrapper = setup(SpeedCard)
expect(wrapper.find('[data-testid="SpeedCard-value"]').exists()).toBe(true)
expect(wrapper.find('[data-testid="SpeedCard-value"]').text()).toBe('0')
expect(wrapper.find('[data-testid="SpeedCard-unit"]').exists()).toBe(true)
expect(wrapper.find('[data-testid="SpeedCard-unit"]').text()).toBe('B/s')
})
it('should render value (0 decimals) and unit & be formatted', () => {
const wrapper = setup(SpeedCard, { value: 26823 })
expect(wrapper.find('[data-testid="SpeedCard-value"]').text()).toBe('26')
expect(wrapper.find('[data-testid="SpeedCard-unit"]').text()).toBe('KB/s')
})
it('should render value (1 decimals) and unit & be formatted', () => {
const wrapper = setup(SpeedCard, { value: 10899700 })
expect(wrapper.find('[data-testid="SpeedCard-value"]').text()).toBe('10.4')
expect(wrapper.find('[data-testid="SpeedCard-unit"]').text()).toBe('MB/s')
})
})