import assert from 'assert';
import React from 'react'; // jshint ignore:line
import CategoryPicker from 'misago/components/threads/category-picker'; // jshint ignore:line
import * as testUtils from 'misago/utils/test-utils';
/* jshint ignore:start */
let list = {
name: "All",
nameLong: "All threads",
path: ''
};
let categories = {
1: {
id: 1,
name: "First Category",
css_class: null,
absolute_url: '/category-1/'
},
3: {
id: 3,
name: "Second Category",
css_class: 'custom',
absolute_url: '/category-3/'
}
};
/* jshint ignore:end */
describe("Threads List Category Picker", function() {
afterEach(function() {
testUtils.unmountComponents();
});
it("renders with invalid categories", function() {
/* jshint ignore:start */
testUtils.render(
);
/* jshint ignore:end */
let element = $('#test-mount .list-inline');
assert.ok(element.length, "component renders");
assert.ok(!element.find('li').length, "picker renders without choices");
});
it("renders with some invalid categories", function() {
/* jshint ignore:start */
testUtils.render(
);
/* jshint ignore:end */
let element = $('#test-mount .list-inline');
assert.ok(element.length, "component renders");
assert.equal(element.find('li').length, 2,
"picker renders with two valid choices");
assert.equal(element.find('li').first().text(),
"First Category",
"first category is rendered in picker");
assert.equal(element.find('li').last().text(),
"Second Category",
"second category is rendered in picker");
assert.ok(element.find('li').find('a.subcategory-custom').length,
"second category has custom class");
});
it("renders with categories", function() {
/* jshint ignore:start */
testUtils.render(
);
/* jshint ignore:end */
let element = $('#test-mount .list-inline');
assert.ok(element.length, "component renders");
assert.equal(element.find('li').length, 2,
"picker renders with two valid choices");
assert.equal(element.find('li').first().text(),
"First Category",
"first category is rendered in picker");
assert.equal(element.find('li').last(1).text(),
"Second Category",
"second category is rendered in picker");
assert.ok(element.find('li').find('a.subcategory-custom').length,
"second category has custom class");
});
});