mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 04:34:13 -06:00
59d04c0695
Changed internals so trust levels are referred to with TrustLevel[1], TrustLevel[2] etc. This gives us much better flexibility naming trust levels, these names are meant to be controlled by various communities.
55 lines
1.9 KiB
Ruby
55 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe TopicCreator do
|
|
|
|
let(:user) { Fabricate(:user) }
|
|
let(:moderator) { Fabricate(:moderator) }
|
|
let(:admin) { Fabricate(:admin) }
|
|
|
|
let(:valid_attrs) { Fabricate.attributes_for(:topic) }
|
|
|
|
describe '#create' do
|
|
context 'success cases' do
|
|
before do
|
|
TopicCreator.any_instance.expects(:save_topic).returns(true)
|
|
TopicCreator.any_instance.expects(:watch_topic).returns(true)
|
|
SiteSetting.stubs(:allow_duplicate_topic_titles?).returns(true)
|
|
end
|
|
|
|
it "should be possible for an admin to create a topic" do
|
|
TopicCreator.create(admin, Guardian.new(admin), valid_attrs).should be_valid
|
|
end
|
|
|
|
it "should be possible for a moderator to create a topic" do
|
|
TopicCreator.create(moderator, Guardian.new(moderator), valid_attrs).should be_valid
|
|
end
|
|
|
|
context 'regular user' do
|
|
before { SiteSetting.stubs(:min_trust_to_create_topic).returns(TrustLevel[0]) }
|
|
|
|
it "should be possible for a regular user to create a topic" do
|
|
TopicCreator.create(user, Guardian.new(user), valid_attrs).should be_valid
|
|
end
|
|
|
|
it "should be possible for a regular user to create a topic with blank auto_close_time" do
|
|
TopicCreator.create(user, Guardian.new(user), valid_attrs.merge(auto_close_time: '')).should be_valid
|
|
end
|
|
|
|
it "ignores auto_close_time without raising an error" do
|
|
topic = TopicCreator.create(user, Guardian.new(user), valid_attrs.merge(auto_close_time: '24'))
|
|
topic.should be_valid
|
|
topic.auto_close_at.should be_nil
|
|
end
|
|
|
|
it "category name is case insensitive" do
|
|
category = Fabricate(:category, name: "Neil's Blog")
|
|
topic = TopicCreator.create(user, Guardian.new(user), valid_attrs.merge(category: "neil's blog"))
|
|
topic.should be_valid
|
|
topic.category.should == category
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|