Due to the pattern `**/specs/*.spec.js` defined in CircleCI, none of the frontend spec in the folders such as `specs/<domain-name>/getters.spec.js` were not executed in Circle CI. This PR fixes the issue, along with the following changes: - Use vitest instead of jest - Remove jest dependancies - Update tests to work with vitest --------- Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
import Vue from 'vue';
|
|
import plugin from '../plugin';
|
|
import analyticsHelper from '../index';
|
|
|
|
vi.spyOn(analyticsHelper, 'init');
|
|
vi.spyOn(analyticsHelper, 'track');
|
|
|
|
describe('Vue Analytics Plugin', () => {
|
|
beforeEach(() => {
|
|
Vue.use(plugin);
|
|
});
|
|
|
|
it('should call the init method on analyticsHelper once during plugin installation', () => {
|
|
expect(analyticsHelper.init).toHaveBeenCalledTimes(1);
|
|
});
|
|
|
|
it('should add the analyticsHelper to the Vue prototype as $analytics', () => {
|
|
expect(Vue.prototype.$analytics).toBe(analyticsHelper);
|
|
});
|
|
|
|
it('should add a track method to the Vue prototype as $track', () => {
|
|
expect(typeof Vue.prototype.$track).toBe('function');
|
|
Vue.prototype.$track('eventName');
|
|
expect(analyticsHelper.track)
|
|
.toHaveBeenCalledTimes(1)
|
|
.toHaveBeenCalledWith('eventName');
|
|
});
|
|
|
|
it('should call the track method on analyticsHelper with the correct event name when $track is called', () => {
|
|
const eventName = 'testEvent';
|
|
Vue.prototype.$track(eventName);
|
|
expect(analyticsHelper.track)
|
|
.toHaveBeenCalledTimes(1)
|
|
.toHaveBeenCalledWith(eventName);
|
|
});
|
|
});
|