From 91bebf1adb43561b54bac18e76224759dc70acb3 Mon Sep 17 00:00:00 2001 From: Кайрат Макым Date: Tue, 18 Feb 2025 09:44:13 +0100 Subject: Refs #31170 -- Added JavaScript tests for RelatedObjectLookups.js. --- js_tests/admin/RelatedObjectLookups.test.js | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 js_tests/admin/RelatedObjectLookups.test.js (limited to 'js_tests/admin/RelatedObjectLookups.test.js') diff --git a/js_tests/admin/RelatedObjectLookups.test.js b/js_tests/admin/RelatedObjectLookups.test.js new file mode 100644 index 0000000000..64433cb623 --- /dev/null +++ b/js_tests/admin/RelatedObjectLookups.test.js @@ -0,0 +1,38 @@ +/* global QUnit, RelatedObjectLookups */ +'use strict'; + +QUnit.module('admin.RelatedObjectLookups', { + beforeEach: function() { + const $ = django.jQuery; + $('#qunit-fixture').append(` + + + `); + window.relatedWindows = window.relatedWindows || []; + } +}); + +QUnit.test('dismissRelatedLookupPopup closes popup window', function(assert) { + const testId = 'test_id'; + let windowClosed = false; + const mockWin = { + name: testId, + close: function() { + windowClosed = true; + } + }; + window.dismissRelatedLookupPopup(mockWin, '123'); + assert.true(windowClosed, 'Popup window should be closed'); +}); + +QUnit.test('dismissRelatedLookupPopup removes window from relatedWindows array', function(assert) { + const testId = 'test_id'; + const mockWin = { + name: testId, + close: function() {} + }; + window.relatedWindows.push(mockWin); + assert.equal(window.relatedWindows.indexOf(mockWin), 0, 'Window should be in relatedWindows array'); + window.dismissRelatedLookupPopup(mockWin, '123'); + assert.equal(window.relatedWindows.indexOf(mockWin), -1, 'Window should be removed from relatedWindows array'); +}); -- cgit v1.3