2014-02-08 00:07:23 +08:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe GroupsController do
|
|
|
|
let(:group) { Fabricate(:group) }
|
|
|
|
|
|
|
|
describe 'show' do
|
|
|
|
it "ensures the group can be seen" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(false)
|
|
|
|
xhr :get, :show, id: group.name
|
|
|
|
response.should_not be_success
|
|
|
|
end
|
|
|
|
|
|
|
|
it "responds with JSON" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(true)
|
|
|
|
xhr :get, :show, id: group.name
|
|
|
|
response.should be_success
|
|
|
|
::JSON.parse(response.body)['basic_group']['id'].should == group.id
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-02-13 03:00:45 +08:00
|
|
|
describe "posts_count" do
|
|
|
|
it "ensures the group can be seen" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(false)
|
|
|
|
xhr :get, :posts_count, group_id: group.name
|
|
|
|
response.should_not be_success
|
|
|
|
end
|
|
|
|
|
|
|
|
it "performs the query and responds with JSON" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(true)
|
|
|
|
Group.any_instance.expects(:posts_for).returns(Group.none)
|
|
|
|
xhr :get, :posts_count, group_id: group.name
|
|
|
|
response.should be_success
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-02-08 00:07:23 +08:00
|
|
|
describe "posts" do
|
|
|
|
it "ensures the group can be seen" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(false)
|
|
|
|
xhr :get, :posts, group_id: group.name
|
|
|
|
response.should_not be_success
|
|
|
|
end
|
|
|
|
|
|
|
|
it "calls `posts_for` and responds with JSON" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(true)
|
2014-02-13 03:00:45 +08:00
|
|
|
Group.any_instance.expects(:posts_for).returns(Group.none)
|
2014-02-08 00:07:23 +08:00
|
|
|
xhr :get, :posts, group_id: group.name
|
|
|
|
response.should be_success
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "members" do
|
|
|
|
it "ensures the group can be seen" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(false)
|
|
|
|
xhr :get, :members, group_id: group.name
|
|
|
|
response.should_not be_success
|
|
|
|
end
|
|
|
|
|
|
|
|
it "calls `posts_for` and responds with JSON" do
|
|
|
|
Guardian.any_instance.expects(:can_see?).with(group).returns(true)
|
|
|
|
xhr :get, :posts, group_id: group.name
|
|
|
|
response.should be_success
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|