This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/unit/models/result-set-test.js
Jarek Radosz 4f12fd0339
DEV: Modernize model tests (#19104)
Uses `module()` instead of `discourseModule()`, native getters instead of `.get()`, fixes some assertions, uses the store instead of creating models directly
2022-11-18 20:36:32 +01:00

54 lines
1.8 KiB
JavaScript

import { module, test } from "qunit";
import { getOwner } from "discourse-common/lib/get-owner";
import { setupTest } from "ember-qunit";
module("Unit | Model | result-set", function (hooks) {
setupTest(hooks);
test("defaults", function (assert) {
const store = getOwner(this).lookup("service:store");
const resultSet = store.createRecord("result-set", { content: [] });
assert.strictEqual(resultSet.length, 0);
assert.strictEqual(resultSet.totalRows, 0);
assert.ok(!resultSet.loadMoreUrl);
assert.ok(!resultSet.loading);
assert.ok(!resultSet.loadingMore);
assert.ok(!resultSet.refreshing);
});
test("pagination support", async function (assert) {
const store = getOwner(this).lookup("service:store");
const resultSet = await store.findAll("widget");
assert.strictEqual(resultSet.length, 2);
assert.strictEqual(resultSet.totalRows, 4);
assert.ok(resultSet.loadMoreUrl, "has a url to load more");
assert.ok(!resultSet.loadingMore, "it is not loading more");
assert.ok(resultSet.canLoadMore);
const promise = resultSet.loadMore();
assert.ok(resultSet.loadingMore, "it is loading more");
await promise;
assert.ok(!resultSet.loadingMore, "it finished loading more");
assert.strictEqual(resultSet.length, 4);
assert.ok(!resultSet.loadMoreUrl);
assert.ok(!resultSet.canLoadMore);
});
test("refresh support", async function (assert) {
const store = getOwner(this).lookup("service:store");
const resultSet = await store.findAll("widget");
assert.strictEqual(
resultSet.refreshUrl,
"/widgets?refresh=true",
"it has the refresh url"
);
const promise = resultSet.refresh();
assert.ok(resultSet.refreshing, "it is refreshing");
await promise;
assert.ok(!resultSet.refreshing, "it is finished refreshing");
});
});