Alina Beck 77f4810ddc set up global localVue
by setting up localVue with all required plugins (such as styleguide and vuex)
in a separate testSetup file we can avoid doing this individually in all component tests
the testSetup is executed before each test suite, so each test file gets a fresh
instance of localVue
2019-11-20 12:31:40 +03:00

79 lines
1.4 KiB
JavaScript

import { shallowMount } from '@vue/test-utils'
import RelativeDateTime from './'
const localVue = global.localVue
describe('RelativeDateTime', () => {
let mocks
let locale
let dateTime
beforeEach(() => {
mocks = {
$i18n: {
locale: () => locale,
},
}
})
let Wrapper = () => {
return shallowMount(RelativeDateTime, {
mocks,
localVue,
propsData: {
dateTime,
},
})
}
describe('given a String as dateTime', () => {
beforeEach(() => {
dateTime = '08.03.2017'
})
it('translates', () => {
expect(Wrapper().text()).toContain('08/03/2017')
})
})
describe('given a Date object as dateTime', () => {
beforeEach(() => {
dateTime = new Date()
})
it('renders', () => {
expect(Wrapper().is('span')).toBe(true)
})
describe("locale == 'en'", () => {
beforeEach(() => {
locale = 'en'
})
it('translates', () => {
expect(Wrapper().text()).toContain('today at')
})
})
describe("locale == 'gibberish'", () => {
beforeEach(() => {
locale = 'gibberish'
})
it('translates', () => {
expect(Wrapper().text()).toContain('today at')
})
})
describe("locale == 'de'", () => {
beforeEach(() => {
locale = 'de'
})
it('translates', () => {
expect(Wrapper().text()).toContain('heute um')
})
})
})
})