diff --git a/app/assets/javascripts/discourse/tests/integration/components/widgets/post-stream-test.js b/app/assets/javascripts/discourse/tests/integration/components/widgets/post-stream-test.js
index 279f5cf9944..06273cde3bf 100644
--- a/app/assets/javascripts/discourse/tests/integration/components/widgets/post-stream-test.js
+++ b/app/assets/javascripts/discourse/tests/integration/components/widgets/post-stream-test.js
@@ -3,15 +3,11 @@ import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import { render } from "@ember/test-helpers";
import { count } from "discourse/tests/helpers/qunit-helpers";
import { hbs } from "ember-cli-htmlbars";
-import Post from "discourse/models/post";
import { getOwner } from "discourse-common/lib/get-owner";
function postStreamTest(name, attrs) {
test(name, async function (assert) {
- const site = this.container.lookup("service:site");
- let posts = attrs.posts.call(this);
- posts.forEach((p) => p.set("site", site));
- this.set("posts", posts);
+ this.set("posts", attrs.posts.call(this));
await render(
hbs`
lorem ipsum
", username: "eviltrout", post_number: 1, @@ -1334,7 +1335,8 @@ eviltrout }); test("quoting a quote", function (assert) { - const post = Post.create({ + const store = getOwner(this).lookup("service:store"); + const post = store.createRecord("post", { cooked: new PrettyText(defaultOpts).cook( '[quote="sam, post:1, topic:1, full:true"]\nhello\n[/quote]\n*Test*' ), diff --git a/app/assets/javascripts/discourse/tests/unit/models/composer-test.js b/app/assets/javascripts/discourse/tests/unit/models/composer-test.js index fb7f80420f0..216d007080b 100644 --- a/app/assets/javascripts/discourse/tests/unit/models/composer-test.js +++ b/app/assets/javascripts/discourse/tests/unit/models/composer-test.js @@ -10,9 +10,9 @@ import { } from "discourse/tests/helpers/qunit-helpers"; import AppEvents from "discourse/services/app-events"; import EmberObject from "@ember/object"; -import Post from "discourse/models/post"; import createStore from "discourse/tests/helpers/create-store"; import { test } from "qunit"; +import { getOwner } from "discourse-common/lib/get-owner"; function createComposer(opts) { opts = opts || {}; @@ -276,7 +276,8 @@ discourseModule("Unit | Model | composer", function () { const composer = createComposer(); assert.ok(!composer.get("editingFirstPost"), "it's false by default"); - const post = Post.create({ id: 123, post_number: 2 }); + const store = getOwner(this).lookup("service:store"); + const post = store.createRecord("post", { id: 123, post_number: 2 }); composer.setProperties({ post, action: EDIT }); assert.ok( !composer.get("editingFirstPost"), @@ -291,10 +292,11 @@ discourseModule("Unit | Model | composer", function () { }); test("clearState", function (assert) { + const store = getOwner(this).lookup("service:store"); const composer = createComposer({ originalText: "asdf", reply: "asdf2", - post: Post.create({ id: 1 }), + post: store.createRecord("post", { id: 1 }), title: "wat", }); @@ -358,7 +360,8 @@ discourseModule("Unit | Model | composer", function () { this.siteSettings.max_topic_title_length = 10; const composer = createComposer(); - const post = Post.create({ + const store = getOwner(this).lookup("service:store"); + const post = store.createRecord("post", { id: 123, post_number: 2, static_doc: true, diff --git a/app/assets/javascripts/discourse/tests/unit/models/pending-post-test.js b/app/assets/javascripts/discourse/tests/unit/models/pending-post-test.js index d42f3b60822..4849fdd3e37 100644 --- a/app/assets/javascripts/discourse/tests/unit/models/pending-post-test.js +++ b/app/assets/javascripts/discourse/tests/unit/models/pending-post-test.js @@ -1,18 +1,22 @@ import { module, test } from "qunit"; -import PendingPost from "discourse/models/pending-post"; -import createStore from "discourse/tests/helpers/create-store"; +import { setupTest } from "ember-qunit"; +import { getOwner } from "discourse-common/lib/get-owner"; import { settled } from "@ember/test-helpers"; -module("Unit | Model | pending-post", function () { +module("Unit | Model | pending-post", function (hooks) { + setupTest(hooks); + test("Properties", async function (assert) { - const store = createStore(); + const store = getOwner(this).lookup("service:store"); const category = store.createRecord("category", { id: 2 }); - const post = PendingPost.create({ + const post = store.createRecord("pending-post", { id: 1, topic_url: "topic-url", username: "USERNAME", category_id: 2, }); + + // pending-post initializer performs async operations await settled(); assert.equal(post.postUrl, "topic-url", "topic_url is aliased to postUrl"); @@ -30,7 +34,12 @@ module("Unit | Model | pending-post", function () { }); test("it cooks raw_text", async function (assert) { - const post = PendingPost.create({ raw_text: "**bold text**" }); + const store = getOwner(this).lookup("service:store"); + const post = store.createRecord("pending-post", { + raw_text: "**bold text**", + }); + + // pending-post initializer performs async operations await settled(); assert.equal( diff --git a/app/assets/javascripts/discourse/tests/unit/models/post-test.js b/app/assets/javascripts/discourse/tests/unit/models/post-test.js index 6938b2b476e..c702a5e6d52 100644 --- a/app/assets/javascripts/discourse/tests/unit/models/post-test.js +++ b/app/assets/javascripts/discourse/tests/unit/models/post-test.js @@ -1,30 +1,20 @@ import { module, test } from "qunit"; -import Post from "discourse/models/post"; import User from "discourse/models/user"; -import { deepMerge } from "discourse-common/lib/object"; +import { getOwner } from "discourse-common/lib/get-owner"; -function buildPost(args) { - return Post.create( - deepMerge( - { - id: 1, - can_delete: true, - version: 1, - }, - args || {} - ) - ); -} +module("Unit | Model | post", function (hooks) { + hooks.beforeEach(function () { + this.store = getOwner(this).lookup("service:store"); + }); -module("Unit | Model | post", function () { test("defaults", function (assert) { - let post = Post.create({ id: 1 }); + const post = this.store.createRecord("post", { id: 1 }); assert.blank(post.get("deleted_at"), "it has no deleted_at by default"); assert.blank(post.get("deleted_by"), "there is no deleted_by by default"); }); test("new_user", function (assert) { - let post = Post.create({ trust_level: 0 }); + const post = this.store.createRecord("post", { trust_level: 0 }); assert.ok(post.get("new_user"), "post is from a new user"); post.set("trust_level", 1); @@ -32,7 +22,7 @@ module("Unit | Model | post", function () { }); test("firstPost", function (assert) { - let post = Post.create({ post_number: 1 }); + const post = this.store.createRecord("post", { post_number: 1 }); assert.ok(post.get("firstPost"), "it's the first post"); post.set("post_number", 10); @@ -40,17 +30,14 @@ module("Unit | Model | post", function () { }); test("updateFromPost", function (assert) { - let post = Post.create({ + const post = this.store.createRecord("post", { post_number: 1, raw: "hello world", }); post.updateFromPost( - Post.create({ + this.store.createRecord("post", { raw: "different raw", - wat: function () { - return 123; - }, }) ); @@ -58,8 +45,13 @@ module("Unit | Model | post", function () { }); test("destroy by staff", async function (assert) { - let user = User.create({ username: "staff", moderator: true }); - let post = buildPost({ user }); + const user = User.create({ username: "staff", moderator: true }); + const post = this.store.createRecord("post", { + id: 1, + can_delete: true, + version: 1, + user, + }); await post.destroy(user); @@ -85,7 +77,13 @@ module("Unit | Model | post", function () { test("destroy by non-staff", async function (assert) { const originalCooked = "this is the original cooked value"; const user = User.create({ username: "evil trout" }); - const post = buildPost({ user, cooked: originalCooked }); + const post = this.store.createRecord("post", { + id: 1, + can_delete: true, + version: 1, + user, + cooked: originalCooked, + }); await post.destroy(user);