From aec32f5e4a2f0df89c5d73e92d687e317c5d7185 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 6 Oct 2017 16:30:51 +0200 Subject: [PATCH] client side unit test for dialog onBackgroundMouseDown() --- client/core/src/dialog/dialog.spec.js | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/client/core/src/dialog/dialog.spec.js b/client/core/src/dialog/dialog.spec.js index fc6152508a..15396399f4 100644 --- a/client/core/src/dialog/dialog.spec.js +++ b/client/core/src/dialog/dialog.spec.js @@ -122,4 +122,40 @@ describe('Component vnDialog', () => { expect(controller.fireResponse).toHaveBeenCalledWith('I am the response!'); }); }); + + describe('onDialogMouseDown()', () => { + it(`should set controller's lastEvent property`, () => { + let controller = $componentController('vnDialog', {$element}); + controller.element = document.createElement('div'); + let event = {target: controller.element}; + controller.onDialogMouseDown(event); + + expect(controller.lastEvent).toEqual(event); + }); + }); + + describe('onBackgroundMouseDown()', () => { + it(`shouldn't call hide() function as event equals lastEvent`, () => { + let controller = $componentController('vnDialog', {$element}); + controller.element = document.createElement('div'); + let event = {target: controller.element}; + controller.lastEvent = event; + spyOn(controller, 'hide'); + controller.onBackgroundMouseDown(event); + + expect(controller.hide).not.toHaveBeenCalledWith(); + }); + + it(`should call hide() function as event doesn't equal lastEvent`, () => { + let controller = $componentController('vnDialog', {$element}); + controller.element = document.createElement('div'); + let event = {target: controller.element}; + controller.lastEvent = event; + controller.lastEvent = 'the singularity event!'; + spyOn(controller, 'hide'); + controller.onBackgroundMouseDown(event); + + expect(controller.hide).toHaveBeenCalledWith(); + }); + }); });