Commit c0fcb529 by Syed Hassan Raza

Fix checking empty array

parent eb6bb036
...@@ -28,13 +28,13 @@ ...@@ -28,13 +28,13 @@
context.topics_html = this.renderCategoryMap(this.course_settings.get('category_map')); context.topics_html = this.renderCategoryMap(this.course_settings.get('category_map'));
edx.HtmlUtils.setHtml(this.$el, edx.HtmlUtils.template($('#topic-template').html())(context)); edx.HtmlUtils.setHtml(this.$el, edx.HtmlUtils.template($('#topic-template').html())(context));
$general = this.$('.post-topic option:contains(General)'); $general = this.$('.post-topic option:contains(General)'); // always return array.
if (this.getCurrentTopicId()) { if (this.getCurrentTopicId()) {
this.setTopic(this.$('.post-topic option').filter( this.setTopic(this.$('.post-topic option').filter(
'[data-discussion-id="' + this.getCurrentTopicId() + '"]' '[data-discussion-id="' + this.getCurrentTopicId() + '"]'
)); ));
} else if ($general) { } else if ($general.length > 0) {
this.setTopic($general); this.setTopic($general);
} else { } else {
this.setTopic(this.$('.post-topic option').first()); this.setTopic(this.$('.post-topic option').first());
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
(function() { (function() {
'use strict'; 'use strict';
describe('DiscussionTopicMenuView', function() { describe('DiscussionTopicMenuView', function() {
var ExpectedDiscussionId;
beforeEach(function() { beforeEach(function() {
this.createTopicView = function(options) { this.createTopicView = function(options) {
options = _.extend({ options = _.extend({
...@@ -87,12 +88,18 @@ ...@@ -87,12 +88,18 @@
expect(this.view.$el.find('option.topic-title:selected').text()).toContain('<em>'); expect(this.view.$el.find('option.topic-title:selected').text()).toContain('<em>');
}); });
it('appropriate topic is selected if `topicId` is passed', function() { it('appropriate topic is selected if topicId is passed', function() {
this.createTopicView({ this.createTopicView({
topicId: 'c49f0dfb8fc94c9c8d9999cc95190c56' topicId: 'c49f0dfb8fc94c9c8d9999cc95190c56'
}); });
this.view.render(); this.view.render();
expect(this.view.$el.find('option.topic-title:selected').text()).toEqual('Numerical Input'); expect(this.view.$el.find('option.topic-title:selected').text()).toEqual('Numerical Input');
}); });
it('if general topic is not present then topiId is set to first discussion topicId', function() {
this.createTopicView({});
this.view.render();
ExpectedDiscussionId = this.view.$('.post-topic option').first().data('discussion-id');
expect(this.view.getCurrentTopicId()).toEqual(ExpectedDiscussionId);
});
}); });
}).call(this); }).call(this);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment