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