summaryrefslogtreecommitdiff
path: root/js_tests
diff options
context:
space:
mode:
authorКайрат Макым <kairatmakym@kajrats-macbook-pro.local>2025-02-18 09:44:13 +0100
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-02-18 10:34:14 +0100
commit91bebf1adb43561b54bac18e76224759dc70acb3 (patch)
treef1b095cfc3e6ac0204e6204d2d705b68706f34e0 /js_tests
parent727731d76d9dfd5304d536478d862778f6dd6d9b (diff)
Refs #31170 -- Added JavaScript tests for RelatedObjectLookups.js.
Diffstat (limited to 'js_tests')
-rw-r--r--js_tests/admin/RelatedObjectLookups.test.js38
-rw-r--r--js_tests/tests.html1
2 files changed, 39 insertions, 0 deletions
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(`
+ <input type="text" id="test_id" name="test" />
+ <input type="text" id="many_test_id" name="many_test" class="vManyToManyRawIdAdminField" />
+ `);
+ 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');
+});
diff --git a/js_tests/tests.html b/js_tests/tests.html
index 011998e5a7..87e347cc0c 100644
--- a/js_tests/tests.html
+++ b/js_tests/tests.html
@@ -125,6 +125,7 @@
<script src='./admin/navigation.test.js'></script>
<script src='../django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js' data-cover></script>
+ <script src='./admin/RelatedObjectLookups.test.js'></script>
<script src='./admin/DateTimeShortcuts.test.js'></script>
<script src='../django/contrib/admin/static/admin/js/calendar.js' data-cover></script>