chore: fix circleci on vite build (#10214)
- Switch to pnpm based build - Switch circleci from docker to machine to have more memory - Fix frontend and backend tests Fixes https://linear.app/chatwoot/issue/CW-3610/fix-circle-ci-for-vite-build --------- Co-authored-by: Shivam Mishra <scm.mymail@gmail.com> Co-authored-by: Pranav <pranavrajs@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { createWrapper } from '@vue/test-utils';
|
||||
import { mount } from '@vue/test-utils';
|
||||
import { defineComponent, h } from 'vue';
|
||||
import availabilityMixin from '../availability';
|
||||
import Vue from 'vue';
|
||||
import { vi } from 'vitest';
|
||||
|
||||
global.chatwootWebChannel = {
|
||||
workingHoursEnabled: true,
|
||||
@@ -27,74 +28,60 @@ global.chatwootWebChannel = {
|
||||
utcOffset: '-07:00',
|
||||
};
|
||||
|
||||
let Component;
|
||||
|
||||
describe('availabilityMixin', () => {
|
||||
beforeEach(() => {
|
||||
vi.useRealTimers();
|
||||
Component = defineComponent({
|
||||
mixins: [availabilityMixin],
|
||||
render() {
|
||||
return h('div');
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns valid isInBetweenWorkingHours if in different timezone', () => {
|
||||
const Component = {
|
||||
render() {},
|
||||
mixins: [availabilityMixin],
|
||||
};
|
||||
vi.useFakeTimers('modern').setSystemTime(
|
||||
vi.useFakeTimers().setSystemTime(
|
||||
new Date('Thu Apr 14 2022 06:04:46 GMT+0530')
|
||||
);
|
||||
const Constructor = Vue.extend(Component);
|
||||
const vm = new Constructor().$mount();
|
||||
const wrapper = createWrapper(vm);
|
||||
const wrapper = mount(Component);
|
||||
expect(wrapper.vm.isInBetweenTheWorkingHours).toBe(true);
|
||||
});
|
||||
|
||||
it('returns valid isInBetweenWorkingHours if in same timezone', () => {
|
||||
global.chatwootWebChannel.utcOffset = '+05:30';
|
||||
const Component = {
|
||||
render() {},
|
||||
mixins: [availabilityMixin],
|
||||
};
|
||||
vi.useFakeTimers('modern').setSystemTime(
|
||||
|
||||
vi.useFakeTimers().setSystemTime(
|
||||
new Date('Thu Apr 14 2022 09:01:46 GMT+0530')
|
||||
);
|
||||
const Constructor = Vue.extend(Component);
|
||||
const wrapper = createWrapper(new Constructor().$mount());
|
||||
const wrapper = mount(Component);
|
||||
expect(wrapper.vm.isInBetweenTheWorkingHours).toBe(true);
|
||||
});
|
||||
|
||||
it('returns false if closed all day', () => {
|
||||
const Component = {
|
||||
render() {},
|
||||
mixins: [availabilityMixin],
|
||||
};
|
||||
global.chatwootWebChannel.utcOffset = '-07:00';
|
||||
global.chatwootWebChannel.workingHours = [
|
||||
{ day_of_week: 3, closed_all_day: true },
|
||||
];
|
||||
vi.useFakeTimers('modern').setSystemTime(
|
||||
|
||||
vi.useFakeTimers().setSystemTime(
|
||||
new Date('Thu Apr 14 2022 09:01:46 GMT+0530')
|
||||
);
|
||||
|
||||
const Constructor = Vue.extend(Component);
|
||||
const vm = new Constructor().$mount();
|
||||
const wrapper = createWrapper(vm);
|
||||
const wrapper = mount(Component);
|
||||
expect(wrapper.vm.isInBetweenTheWorkingHours).toBe(false);
|
||||
});
|
||||
|
||||
it('returns true if open all day', () => {
|
||||
const Component = {
|
||||
render() {},
|
||||
mixins: [availabilityMixin],
|
||||
};
|
||||
global.chatwootWebChannel.utcOffset = '-07:00';
|
||||
global.chatwootWebChannel.workingHours = [
|
||||
{ day_of_week: 3, open_all_day: true },
|
||||
];
|
||||
vi.useFakeTimers('modern').setSystemTime(
|
||||
|
||||
vi.useFakeTimers().setSystemTime(
|
||||
new Date('Thu Apr 14 2022 09:01:46 GMT+0530')
|
||||
);
|
||||
|
||||
const Constructor = Vue.extend(Component);
|
||||
const vm = new Constructor().$mount();
|
||||
const wrapper = createWrapper(vm);
|
||||
const wrapper = mount(Component);
|
||||
expect(wrapper.vm.isInBetweenTheWorkingHours).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user