From 5935a4ff6c134bf80640c0359fae98cb5ced10d3 Mon Sep 17 00:00:00 2001 From: iamsivin Date: Fri, 9 Feb 2024 16:18:25 +0530 Subject: [PATCH] chore: Fix codeclimate --- .../mixins/specs/resizeListenerMixin.spec.js | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 app/javascript/shared/mixins/specs/resizeListenerMixin.spec.js diff --git a/app/javascript/shared/mixins/specs/resizeListenerMixin.spec.js b/app/javascript/shared/mixins/specs/resizeListenerMixin.spec.js new file mode 100644 index 000000000..888ae28a5 --- /dev/null +++ b/app/javascript/shared/mixins/specs/resizeListenerMixin.spec.js @@ -0,0 +1,37 @@ +import { mount } from '@vue/test-utils'; +import resizeListenerMixin from '../resizeListenerMixin'; + +jest.useFakeTimers(); + +describe('resizeListenerMixin', () => { + let wrapper; + const TestComponent = { + render() {}, + mixins: [resizeListenerMixin], + methods: { + handleResize: jest.fn(), + }, + }; + + beforeEach(() => { + wrapper = mount(TestComponent); + }); + + it('adds resize listener on mount', () => { + const addEventListenerSpy = jest.spyOn(window, 'addEventListener'); + mount(TestComponent); + expect(addEventListenerSpy).toHaveBeenCalledWith( + 'resize', + expect.any(Function) + ); + }); + + it('removes resize listener before destruction', () => { + const removeEventListenerSpy = jest.spyOn(window, 'removeEventListener'); + wrapper.destroy(); + expect(removeEventListenerSpy).toHaveBeenCalledWith( + 'resize', + expect.any(Function) + ); + }); +});