diff options
Diffstat (limited to 'js/tests/modalsSpec.js')
-rwxr-xr-x | js/tests/modalsSpec.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/js/tests/modalsSpec.js b/js/tests/modalsSpec.js new file mode 100755 index 0000000..c1c2b85 --- /dev/null +++ b/js/tests/modalsSpec.js @@ -0,0 +1,52 @@ +describe('Modals', function () { + beforeEach(function () { + var templateModal = [ + '<a id="linkOpenModal" href="#myModal" class="btn">Open modal</a>', + '<div id="myModal" class="modal">', + '<header class="bar bar-nav">', + '<a id="linkCloseModal" class="icon icon-close pull-right" href="#myModal"></a>', + '<h1 class="title">Modal</h1>', + '</header>', + '<div class="content">', + '<p class="content-padded">The contents of my modal go here.</p>', + '</div>', + '</div>' + ].join(''); + document.body.innerHTML += templateModal; + }); + + afterEach(function () { + var linkModal = document.getElementById('linkOpenModal'); + var modal = document.getElementById('myModal'); + linkModal.parentNode.removeChild(linkModal); + modal.parentNode.removeChild(modal); + }); + + it('Modal should fire modalOpen event', function (done) { + window.addEventListener('modalOpen', function () { + expect(true).toBe(true); + done(); + }); + var link = document.getElementById('linkOpenModal'); + var eventTouchEnd = new CustomEvent('touchend', { + bubbles: true, + cancelable: true + }); + link.dispatchEvent(eventTouchEnd); + }); + + it('Modal should fire modalClose event', function (done) { + var link = document.getElementById('linkOpenModal'); + var eventTouchEnd = new CustomEvent('touchend', { + bubbles: true, + cancelable: true + }); + window.addEventListener('modalClose', function () { + expect(true).toBe(true); + done(); + }); + link.dispatchEvent(eventTouchEnd); + var closeLink = document.getElementById('linkCloseModal'); + closeLink.dispatchEvent(eventTouchEnd); + }); +}); |