diff --git a/common/static/coffee/spec/discussion/discussion_spec_helper.coffee b/common/static/coffee/spec/discussion/discussion_spec_helper.coffee index 39f6fcd8db693365babd016f2c20bbea1fc34b80..c6ea6bfcc1d3393e946625ab8f57e338c9dff98c 100644 --- a/common/static/coffee/spec/discussion/discussion_spec_helper.coffee +++ b/common/static/coffee/spec/discussion/discussion_spec_helper.coffee @@ -6,8 +6,11 @@ class @DiscussionSpecHelper window.user = new DiscussionUser({username: "test_user", id: "567", upvoted_ids: []}) DiscussionUtil.setUser(window.user) + @makeTA = () -> + DiscussionUtil.roleIds["Community TA"].push(parseInt(DiscussionUtil.getUser().id)) + @makeModerator = () -> - DiscussionUtil.roleIds["Moderator"].push(parseInt(window.user.id)) + DiscussionUtil.roleIds["Moderator"].push(parseInt(DiscussionUtil.getUser().id)) @makeAjaxSpy = (fakeAjax) -> spyOn($, "ajax").andCallFake( diff --git a/common/static/coffee/spec/discussion/view/new_post_view_spec.coffee b/common/static/coffee/spec/discussion/view/new_post_view_spec.coffee index ad7dc9ff66a1f2d35dbdf28895fc0bbd22493f22..cb0ee2cc617f273363814c623197f053a8d41f6b 100644 --- a/common/static/coffee/spec/discussion/view/new_post_view_spec.coffee +++ b/common/static/coffee/spec/discussion/view/new_post_view_spec.coffee @@ -141,19 +141,26 @@ describe "NewPostView", -> mode: "tab" ) - expectCohortSelectorVisible = (view, visible) -> - expect(view.$(".js-group-select").is(":visible")).toEqual(visible) + checkVisibility = (view, expectedVisible) => + view.render() + expect(view.$(".js-group-select").is(":visible")).toEqual(expectedVisible) + if expectedVisible + expect(view.$(".js-group-select").prop("disabled")).toEqual(false) it "is not visible to students", -> - @view.render() - expectCohortSelectorVisible(@view, false) + checkVisibility(@view, false) + + it "allows TAs to see the cohort selector", -> + DiscussionSpecHelper.makeTA() + checkVisibility(@view, true) - it "allows moderators to select visibility", -> + it "allows moderators to see the cohort selector", -> DiscussionSpecHelper.makeModerator() - @view.render() - expectCohortSelectorVisible(@view, true) - expect(@view.$(".js-group-select").prop("disabled")).toEqual(false) + checkVisibility(@view, true) + it "allows the user to make a cohort selection", -> + DiscussionSpecHelper.makeModerator() + @view.render() expectedGroupId = null DiscussionSpecHelper.makeAjaxSpy( (params) -> expect(params.data.group_id).toEqual(expectedGroupId) diff --git a/common/static/coffee/src/discussion/views/new_post_view.coffee b/common/static/coffee/src/discussion/views/new_post_view.coffee index 8453ea017c16643938fdfb9d9f4d0f0f3f7338f0..04b6ad65fec207aaaf637416b0d8dfc51752bb55 100644 --- a/common/static/coffee/src/discussion/views/new_post_view.coffee +++ b/common/static/coffee/src/discussion/views/new_post_view.coffee @@ -41,7 +41,7 @@ if Backbone? html getCohortOptions: () -> - if @course_settings.get("is_cohorted") and DiscussionUtil.isStaff() + if @course_settings.get("is_cohorted") and DiscussionUtil.isPrivilegedUser() user_cohort_id = $("#discussion-container").data("user-cohort-id") _.map @course_settings.get("cohorts"), (cohort) -> {value: cohort.id, text: cohort.name, selected: cohort.id==user_cohort_id}