discourse/test/javascripts/mixins/selected-posts-count-test.js.es6

36 lines
1.4 KiB
Plaintext
Raw Normal View History

2017-06-15 01:57:58 +08:00
QUnit.module("mixin:selected-posts-count");
2015-05-12 18:54:28 +08:00
import SelectedPostsCount from 'discourse/mixins/selected-posts-count';
import Topic from 'discourse/models/topic';
var buildTestObj = function(params) {
2016-04-30 04:50:52 +08:00
return Ember.Object.extend(SelectedPostsCount).create(params || {});
};
2017-06-15 01:57:58 +08:00
QUnit.test("without selectedPosts", assert => {
var testObj = buildTestObj();
2017-06-15 01:57:58 +08:00
assert.equal(testObj.get('selectedPostsCount'), 0, "No posts are selected without a selectedPosts property");
testObj.set('selectedPosts', []);
2017-06-15 01:57:58 +08:00
assert.equal(testObj.get('selectedPostsCount'), 0, "No posts are selected when selectedPosts is an empty array");
});
2017-06-15 01:57:58 +08:00
QUnit.test("with some selectedPosts", assert => {
2013-10-30 01:01:42 +08:00
var testObj = buildTestObj({ selectedPosts: [Discourse.Post.create({id: 123})] });
2017-06-15 01:57:58 +08:00
assert.equal(testObj.get('selectedPostsCount'), 1, "It returns the amount of posts");
});
2017-06-15 01:57:58 +08:00
QUnit.test("when all posts are selected and there is a posts_count", assert => {
var testObj = buildTestObj({ allPostsSelected: true, posts_count: 1024 });
2017-06-15 01:57:58 +08:00
assert.equal(testObj.get('selectedPostsCount'), 1024, "It returns the posts_count");
});
2017-06-15 01:57:58 +08:00
QUnit.test("when all posts are selected and there is topic with a posts_count", assert => {
var testObj = buildTestObj({
allPostsSelected: true,
topic: Topic.create({ posts_count: 3456 })
});
2017-06-15 01:57:58 +08:00
assert.equal(testObj.get('selectedPostsCount'), 3456, "It returns the topic's posts_count");
});