From 693a4e691bdb826e05cf2c373f5f81d30c1c7d60 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Mon, 4 Nov 2024 10:27:11 +0100 Subject: [PATCH] DEV: Replace `ok(true)` assertions (#29555) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …with `verifySteps`, `expect(0)`, or by removing it --- ...oader-test.js => avatar-uploader-test.gjs} | 29 +++-- .../set-carousel-scroll-position-test.js | 4 - .../discourse/tests/unit/models/user-test.js | 2 +- .../tests/unit/services/lightbox-test.js | 100 ++++++++---------- 4 files changed, 58 insertions(+), 77 deletions(-) rename app/assets/javascripts/discourse/tests/integration/components/{avatar-uploader-test.js => avatar-uploader-test.gjs} (60%) diff --git a/app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.js b/app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.gjs similarity index 60% rename from app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.js rename to app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.gjs index 94ae6394398..103ed7abf73 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.js +++ b/app/assets/javascripts/discourse/tests/integration/components/avatar-uploader-test.gjs @@ -1,6 +1,6 @@ import { render } from "@ember/test-helpers"; -import { hbs } from "ember-cli-htmlbars"; import { module, test } from "qunit"; +import AvatarUploader from "discourse/components/avatar-uploader"; import { setupRenderingTest } from "discourse/tests/helpers/component-test"; import pretender, { response } from "discourse/tests/helpers/create-pretender"; import { createFile } from "discourse/tests/helpers/qunit-helpers"; @@ -8,23 +8,22 @@ import { createFile } from "discourse/tests/helpers/qunit-helpers"; module("Integration | Component | avatar-uploader", function (hooks) { setupRenderingTest(hooks); - hooks.beforeEach(function () { - pretender.post("/uploads.json", () => response({})); - }); - - test("default", async function (assert) { + test("uploading", async function (assert) { const done = assert.async(); - this.set("done", () => { - assert.ok(true, "action is called after avatar is uploaded"); - done(); + + pretender.post("/uploads.json", () => { + assert.step("avatar is uploaded"); + return response({}); }); - await render(hbs` - - `); + const callback = () => { + assert.verifySteps(["avatar is uploaded"]); + done(); + }; + + await render(); await this.container .lookup("service:app-events") diff --git a/app/assets/javascripts/discourse/tests/unit/lib/lightbox/helpers/set-carousel-scroll-position-test.js b/app/assets/javascripts/discourse/tests/unit/lib/lightbox/helpers/set-carousel-scroll-position-test.js index 859357eacd7..f8348c8559a 100644 --- a/app/assets/javascripts/discourse/tests/unit/lib/lightbox/helpers/set-carousel-scroll-position-test.js +++ b/app/assets/javascripts/discourse/tests/unit/lib/lightbox/helpers/set-carousel-scroll-position-test.js @@ -67,9 +67,5 @@ module( "scrolls carousel to center of active item (vertical)" ); }); - - test("test scroll animation", async function (assert) { - assert.ok(true); - }); } ); diff --git a/app/assets/javascripts/discourse/tests/unit/models/user-test.js b/app/assets/javascripts/discourse/tests/unit/models/user-test.js index b97c8ae58cf..819ca7f88ab 100644 --- a/app/assets/javascripts/discourse/tests/unit/models/user-test.js +++ b/app/assets/javascripts/discourse/tests/unit/models/user-test.js @@ -136,10 +136,10 @@ module("Unit | Model | user", function (hooks) { }); test("attempt to stop tracking status if status wasn't tracked doesn't throw", function (assert) { + assert.expect(0); const store = getOwner(this).lookup("service:store"); const user = store.createRecord("user"); user.statusManager.stopTrackingStatus(); - assert.ok(true); }); test("clears statuses of several users correctly when receiving status updates via appEvents", function (assert) { diff --git a/app/assets/javascripts/discourse/tests/unit/services/lightbox-test.js b/app/assets/javascripts/discourse/tests/unit/services/lightbox-test.js index 23fa113138e..932d9a9967c 100644 --- a/app/assets/javascripts/discourse/tests/unit/services/lightbox-test.js +++ b/app/assets/javascripts/discourse/tests/unit/services/lightbox-test.js @@ -8,77 +8,73 @@ import { generateLightboxMarkup, generateLightboxObject, } from "discourse/tests/helpers/lightbox-helpers"; -import domFromString from "discourse-common/lib/dom-from-string"; module("Unit | Service | Experimental Lightbox", function (hooks) { setupTest(hooks); - const wrap = domFromString(generateLightboxMarkup())[0]; - const selector = ".lightbox"; - hooks.beforeEach(function () { this.lightbox = getOwner(this).lookup("service:lightbox"); this.appEvents = getOwner(this).lookup("service:app-events"); + + document.querySelector("#ember-testing").innerHTML = + generateLightboxMarkup(); }); - test("Lightbox Service has appEvents", async function (assert) { - assert.ok(this.lightbox.appEvents); + hooks.afterEach(function () { + document.querySelector("#ember-testing").innerHTML = ""; }); test("Does not add event listener if no lightboxes are found", async function (assert) { const container = document.createElement("div"); const addEventListenerSpy = sinon.spy(container, "addEventListener"); - await this.lightbox.setupLightboxes({ container, selector }); + await this.lightbox.setupLightboxes({ container, selector: ".lightbox" }); - assert.strictEqual( - addEventListenerSpy.called, - false, - "does not add event listener" - ); + assert.false(addEventListenerSpy.called, "does not add event listener"); addEventListenerSpy.restore(); }); test("Adds event listener if lightboxes are found", async function (assert) { - const container = wrap.cloneNode(true); + const container = document.querySelector(".lightbox-wrapper"); const addEventListenerSpy = sinon.spy(container, "addEventListener"); - await this.lightbox.setupLightboxes({ container, selector }); + await this.lightbox.setupLightboxes({ container, selector: ".lightbox" }); - assert.strictEqual( - addEventListenerSpy.calledOnce, - true, - "adds event listener" - ); + assert.true(addEventListenerSpy.calledOnce, "adds event listener"); addEventListenerSpy.restore(); }); test("Correctly sets event listeners", async function (assert) { - const container = wrap.cloneNode(true); - + const container = document.querySelector(".lightbox-wrapper"); const openLightboxSpy = sinon.spy(this.lightbox, "openLightbox"); const removeEventListenerSpy = sinon.spy(container, "removeEventListener"); - const clickTarget = container.querySelector(selector); + const clickTarget = container.querySelector(".lightbox"); - await this.lightbox.setupLightboxes({ container, selector, clickTarget }); + await this.lightbox.setupLightboxes({ + container, + selector: ".lightbox", + clickTarget, + }); - await click(container.querySelector(selector)); + await click(".lightbox"); container.appendChild(document.createElement("p")); await click(container.querySelector("p")); - assert.strictEqual( - openLightboxSpy.calledWith({ container, selector, clickTarget }), - true, + assert.true( + openLightboxSpy.calledWith({ + container, + selector: ".lightbox", + clickTarget, + }), "calls openLightbox on lightboxed element click" ); - assert.strictEqual( + assert.true( openLightboxSpy.calledOnce, - true, "only calls open lightbox when lightboxed element is clicked" ); @@ -90,9 +86,8 @@ module("Unit | Service | Experimental Lightbox", function (hooks) { await this.lightbox.cleanupLightboxes(); - assert.strictEqual( + assert.true( removeEventListenerSpy.calledOnce, - true, "removes event listener from element on cleanup" ); @@ -108,11 +103,11 @@ module("Unit | Service | Experimental Lightbox", function (hooks) { removeEventListenerSpy.restore(); }); - test(`correctly calls the lightbox:open event`, async function (assert) { + test("correctly calls the lightbox:open event", async function (assert) { const done = assert.async(); - const container = wrap.cloneNode(true); + const container = document.querySelector(".lightbox-wrapper"); - await this.lightbox.setupLightboxes({ container, selector }); + await this.lightbox.setupLightboxes({ container, selector: ".lightbox" }); const appEventsTriggerSpy = sinon.spy(this.appEvents, "trigger"); @@ -129,35 +124,34 @@ module("Unit | Service | Experimental Lightbox", function (hooks) { done(); }); - await click(container.querySelector(selector)); + await click(".lightbox"); - assert.ok(appEventsTriggerSpy.calledWith(expectedEvent)); + assert.true(appEventsTriggerSpy.calledWith(expectedEvent)); appEventsTriggerSpy.restore(); }); - test(`correctly calls the lightbox:close event`, async function (assert) { - const done = assert.async(); - const container = wrap.cloneNode(true); + test("correctly calls the lightbox:close event", async function (assert) { + const container = document.querySelector(".lightbox-wrapper"); - await this.lightbox.setupLightboxes({ container, selector }); + await this.lightbox.setupLightboxes({ container, selector: ".lightbox" }); this.appEvents.on(LIGHTBOX_APP_EVENT_NAMES.CLOSE, () => { - assert.ok(true); - done(); + assert.step("lightbox closed"); }); - await click(container.querySelector(selector)); + await click(".lightbox"); await this.lightbox.closeLightbox(); + assert.verifySteps(["lightbox closed"]); }); - test(`correctly responds to the lightbox:clean event`, async function (assert) { - const container = wrap.cloneNode(true); + test("correctly responds to the lightbox:clean event", async function (assert) { + const container = document.querySelector(".lightbox-wrapper"); - await this.lightbox.setupLightboxes({ container, selector }); + await this.lightbox.setupLightboxes({ container, selector: ".lightbox" }); - await click(container.querySelector(".lightbox")); + await click(".lightbox"); assert.strictEqual( this.lightbox.lightboxClickElements.length, @@ -165,11 +159,7 @@ module("Unit | Service | Experimental Lightbox", function (hooks) { "correctly stores lightbox click elements for cleanup" ); - assert.strictEqual( - this.lightbox.lightboxIsOpen, - true, - "sets lightboxIsOpen to true" - ); + assert.true(this.lightbox.lightboxIsOpen, "sets lightboxIsOpen to true"); this.appEvents.trigger(LIGHTBOX_APP_EVENT_NAMES.CLEAN); @@ -179,10 +169,6 @@ module("Unit | Service | Experimental Lightbox", function (hooks) { "correctly removes stored entry from lightboxClickElements on cleanup" ); - assert.strictEqual( - this.lightbox.lightboxIsOpen, - false, - "sets lightboxIsOpen to false" - ); + assert.false(this.lightbox.lightboxIsOpen, "sets lightboxIsOpen to false"); }); });