QUnit.module("result-set"); import ResultSet from "discourse/models/result-set"; import createStore from "helpers/create-store"; QUnit.test("defaults", assert => { const resultSet = ResultSet.create({ content: [] }); assert.equal(resultSet.get("length"), 0); assert.equal(resultSet.get("totalRows"), 0); assert.ok(!resultSet.get("loadMoreUrl")); assert.ok(!resultSet.get("loading")); assert.ok(!resultSet.get("loadingMore")); assert.ok(!resultSet.get("refreshing")); }); QUnit.test("pagination support", async assert => { const store = createStore(); const resultSet = await store.findAll("widget"); assert.equal(resultSet.get("length"), 2); assert.equal(resultSet.get("totalRows"), 4); assert.ok(resultSet.get("loadMoreUrl"), "has a url to load more"); assert.ok(!resultSet.get("loadingMore"), "it is not loading more"); assert.ok(resultSet.get("canLoadMore")); const promise = resultSet.loadMore(); assert.ok(resultSet.get("loadingMore"), "it is loading more"); await promise; assert.ok(!resultSet.get("loadingMore"), "it finished loading more"); assert.equal(resultSet.get("length"), 4); assert.ok(!resultSet.get("loadMoreUrl")); assert.ok(!resultSet.get("canLoadMore")); }); QUnit.test("refresh support", async assert => { const store = createStore(); const resultSet = await store.findAll("widget"); assert.equal( resultSet.get("refreshUrl"), "/widgets?refresh=true", "it has the refresh url" ); const promise = resultSet.refresh(); assert.ok(resultSet.get("refreshing"), "it is refreshing"); await promise; assert.ok(!resultSet.get("refreshing"), "it is finished refreshing"); });