fix most deprecations in the specs (still some left)

This commit is contained in:
Régis Hanol 2014-09-25 17:44:48 +02:00
parent dd5872eecb
commit de76b512c1
121 changed files with 859 additions and 856 deletions

View File

@ -35,7 +35,7 @@ class ScreenedEmail < ActiveRecord::Base
screened_email.record_match! if screened_email screened_email.record_match! if screened_email
screened_email && screened_email.action_type == actions[:block] screened_email.try(:action_type) == actions[:block]
end end
def self.levenshtein(first, second) def self.levenshtein(first, second)

View File

@ -528,16 +528,16 @@ class Topic < ActiveRecord::Base
end end
def remove_allowed_user(username) def remove_allowed_user(username)
user = User.find_by(username: username) if user = User.find_by(username: username)
if user
topic_user = topic_allowed_users.find_by(user_id: user.id) topic_user = topic_allowed_users.find_by(user_id: user.id)
if topic_user if topic_user
topic_user.destroy topic_user.destroy
else return true
end
end
false false
end end
end
end
# Invite a user to the topic by username or email. Returns success/failure # Invite a user to the topic by username or email. Returns success/failure
def invite(invited_by, username_or_email, group_ids=nil) def invite(invited_by, username_or_email, group_ids=nil)

View File

@ -54,15 +54,15 @@ class PostSerializer < BasicPostSerializer
:via_email :via_email
def moderator? def moderator?
!!(object.user && object.user.moderator?) !!(object.try(:user).try(:moderator?))
end end
def admin? def admin?
!!(object.user && object.user.admin?) !!(object.try(:user).try(:admin?))
end end
def staff? def staff?
!!(object.user && object.user.staff?) !!(object.try(:user).try(:staff?))
end end
def yours def yours
@ -119,11 +119,11 @@ class PostSerializer < BasicPostSerializer
end end
def user_title def user_title
object.user.try(:title) object.try(:user).try(:title)
end end
def trust_level def trust_level
object.user.try(:trust_level) object.try(:user).try(:trust_level)
end end
def reply_to_user def reply_to_user

View File

@ -35,14 +35,16 @@ module Scheduler
def valid_every? def valid_every?
return false unless @klass.every return false unless @klass.every
@prev_run && !!@prev_run &&
@prev_run <= Time.now.to_i && @prev_run <= Time.now.to_i &&
@next_run < @prev_run + @klass.every * (1 + @manager.random_ratio) @next_run < @prev_run + @klass.every * (1 + @manager.random_ratio)
end end
def valid_daily? def valid_daily?
return false unless @klass.daily return false unless @klass.daily
@prev_run && @prev_run <= Time.now.to_i && @next_run < @prev_run + 1.day !!@prev_run &&
@prev_run <= Time.now.to_i &&
@next_run < @prev_run + 1.day
end end
def schedule_every! def schedule_every!

View File

@ -3,8 +3,8 @@ module UrlHelper
def is_local(url) def is_local(url)
url.present? && ( url.present? && (
Discourse.store.has_been_uploaded?(url) || Discourse.store.has_been_uploaded?(url) ||
url =~ /^\/assets\// || !!(url =~ /^\/assets\//) ||
url =~ /^\/plugins\// || !!(url =~ /^\/plugins\//) ||
url.start_with?(Discourse.asset_host || Discourse.base_url_no_prefix) url.start_with?(Discourse.asset_host || Discourse.base_url_no_prefix)
) )
end end

View File

@ -7,20 +7,20 @@ describe PollPlugin::Poll do
let(:user) { Fabricate(:user) } let(:user) { Fabricate(:user) }
it "should detect poll post correctly" do it "should detect poll post correctly" do
expect(poll.is_poll?).to be_true expect(poll.is_poll?).should == true
post2 = create_post(topic: topic, raw: "This is a generic reply.") post2 = create_post(topic: topic, raw: "This is a generic reply.")
expect(PollPlugin::Poll.new(post2).is_poll?).to be_false expect(PollPlugin::Poll.new(post2).is_poll?).should == false
post.topic.title = "Not a poll" post.topic.title = "Not a poll"
expect(poll.is_poll?).to be_false expect(poll.is_poll?).should == false
end end
it "strips whitespace from the prefix translation" do it "strips whitespace from the prefix translation" do
topic.title = "Polll: This might be a poll" topic.title = "Polll: This might be a poll"
topic.save topic.save
expect(PollPlugin::Poll.new(post).is_poll?).to be_false expect(PollPlugin::Poll.new(post).is_poll?).should == false
I18n.expects(:t).with('poll.prefix').returns("Polll ") I18n.expects(:t).with('poll.prefix').returns("Polll ")
I18n.expects(:t).with('poll.closed_prefix').returns("Closed Poll ") I18n.expects(:t).with('poll.closed_prefix').returns("Closed Poll ")
expect(PollPlugin::Poll.new(post).is_poll?).to be_true expect(PollPlugin::Poll.new(post).is_poll?).should == true
end end
it "should get options correctly" do it "should get options correctly" do

View File

@ -15,11 +15,11 @@ describe PostCreator do
it "cannot have options changed after 5 minutes" do it "cannot have options changed after 5 minutes" do
poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n[/poll]" poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n[/poll]"
poll_post.valid?.should be_true poll_post.valid?.should == true
poll_post.save poll_post.save
Timecop.freeze(Time.now + 6.minutes) do Timecop.freeze(Time.now + 6.minutes) do
poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n* option 4\n[/poll]" poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n* option 4\n[/poll]"
poll_post.valid?.should be_false poll_post.valid?.should == false
poll_post.errors[:poll_options].should be_present poll_post.errors[:poll_options].should be_present
end end
end end
@ -28,9 +28,9 @@ describe PostCreator do
poll_post.last_editor_id = admin.id poll_post.last_editor_id = admin.id
Timecop.freeze(Time.now + 6.minutes) do Timecop.freeze(Time.now + 6.minutes) do
poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n* option 4.1\n[/poll]" poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n* option 4.1\n[/poll]"
poll_post.valid?.should be_true poll_post.valid?.should == true
poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n[/poll]" poll_post.raw = "[poll]\n* option 1\n* option 2\n* option 3\n[/poll]"
poll_post.valid?.should be_false poll_post.valid?.should == false
end end
end end
end end

View File

@ -49,7 +49,7 @@ describe Auth::FacebookAuthenticator do
result = authenticator.after_authenticate(hash) result = authenticator.after_authenticate(hash)
result.user.should be_nil result.user.should == nil
result.extra_data[:name].should == "bob bob" result.extra_data[:name].should == "bob bob"
end end
end end

View File

@ -50,7 +50,7 @@ describe Auth::GoogleOAuth2Authenticator do
authenticator = described_class.new authenticator = described_class.new
result = authenticator.after_authenticate(hash) result = authenticator.after_authenticate(hash)
result.user.should be_nil result.user.should == nil
result.extra_data[:name].should == "Jane Doe" result.extra_data[:name].should == "Jane Doe"
end end
end end

View File

@ -12,11 +12,11 @@ describe AvatarLookup do
end end
it 'returns nil if user_id does not exists' do it 'returns nil if user_id does not exists' do
@avatar_lookup[0].should be_nil @avatar_lookup[0].should == nil
end end
it 'returns nil if user_id is nil' do it 'returns nil if user_id is nil' do
@avatar_lookup[nil].should be_nil @avatar_lookup[nil].should == nil
end end
it 'returns user if user_id exists' do it 'returns user if user_id exists' do

View File

@ -23,7 +23,7 @@ describe Cache do
cache.write("hello1", "world") cache.write("hello1", "world")
cache.clear cache.clear
cache.read("hello0").should be_nil cache.read("hello0").should == nil
end end
it "can delete by family" do it "can delete by family" do
@ -32,8 +32,8 @@ describe Cache do
cache.delete_by_family("my_family") cache.delete_by_family("my_family")
cache.fetch("key").should be_nil cache.fetch("key").should == nil
cache.fetch("key2").should be_nil cache.fetch("key2").should == nil
end end
@ -43,7 +43,7 @@ describe Cache do
end end
cache.delete("key") cache.delete("key")
cache.fetch("key").should be_nil cache.fetch("key").should == nil
end end
#TODO yuck on this mock #TODO yuck on this mock

View File

@ -40,10 +40,10 @@ describe CategoryList do
CategoryList.new(Guardian.new(admin)).categories.find { |x| x.name == private_cat.name }.displayable_topics.count.should == 1 CategoryList.new(Guardian.new(admin)).categories.find { |x| x.name == private_cat.name }.displayable_topics.count.should == 1
CategoryList.new(Guardian.new(user)).categories.find { |x| x.name == public_cat.name }.displayable_topics.count.should == 1 CategoryList.new(Guardian.new(user)).categories.find { |x| x.name == public_cat.name }.displayable_topics.count.should == 1
CategoryList.new(Guardian.new(user)).categories.find { |x| x.name == private_cat.name }.should be_nil CategoryList.new(Guardian.new(user)).categories.find { |x| x.name == private_cat.name }.should == nil
CategoryList.new(Guardian.new(nil)).categories.find { |x| x.name == public_cat.name }.displayable_topics.count.should == 1 CategoryList.new(Guardian.new(nil)).categories.find { |x| x.name == public_cat.name }.displayable_topics.count.should == 1
CategoryList.new(Guardian.new(nil)).categories.find { |x| x.name == private_cat.name }.should be_nil CategoryList.new(Guardian.new(nil)).categories.find { |x| x.name == private_cat.name }.should == nil
end end
end end
@ -98,7 +98,7 @@ describe CategoryList do
end end
it "should contain our topic" do it "should contain our topic" do
category.featured_topics.include?(topic).should be_true category.featured_topics.include?(topic).should == true
end end
end end

View File

@ -102,7 +102,7 @@ describe ComposerMessagesFinder do
end end
it "creates a notified_about_avatar log" do it "creates a notified_about_avatar log" do
UserHistory.exists_for_user?(user, :notified_about_avatar).should be_true UserHistory.exists_for_user?(user, :notified_about_avatar).should == true
end end
end end
@ -185,7 +185,7 @@ describe ComposerMessagesFinder do
end end
it "creates a notified_about_sequential_replies log" do it "creates a notified_about_sequential_replies log" do
UserHistory.exists_for_user?(user, :notified_about_sequential_replies).should be_true UserHistory.exists_for_user?(user, :notified_about_sequential_replies).should == true
end end
end end
@ -270,7 +270,7 @@ describe ComposerMessagesFinder do
end end
it "creates a notified_about_dominating_topic log" do it "creates a notified_about_dominating_topic log" do
UserHistory.exists_for_user?(user, :notified_about_dominating_topic).should be_true UserHistory.exists_for_user?(user, :notified_about_dominating_topic).should == true
end end
end end

View File

@ -106,7 +106,7 @@ describe CookedPostProcessor do
it "adds a topic image if there's one in the post" do it "adds a topic image if there's one in the post" do
FastImage.stubs(:size) FastImage.stubs(:size)
post.topic.image_url.should be_nil post.topic.image_url.should == nil
cpp.post_process_images cpp.post_process_images
post.topic.reload post.topic.reload
post.topic.image_url.should be_present post.topic.image_url.should be_present
@ -364,12 +364,12 @@ describe CookedPostProcessor do
it "is true when the image is inside a link" do it "is true when the image is inside a link" do
img = doc.css("img#linked_image").first img = doc.css("img#linked_image").first
cpp.is_a_hyperlink?(img).should be_true cpp.is_a_hyperlink?(img).should == true
end end
it "is false when the image is not inside a link" do it "is false when the image is not inside a link" do
img = doc.css("img#standard_image").first img = doc.css("img#standard_image").first
cpp.is_a_hyperlink?(img).should be_false cpp.is_a_hyperlink?(img).should == false
end end
end end

View File

@ -53,7 +53,7 @@ describe DiscoursePluginRegistry do
end end
it 'is returned by DiscoursePluginRegistry.stylesheets' do it 'is returned by DiscoursePluginRegistry.stylesheets' do
registry_instance.stylesheets.include?('hello.css').should be_true registry_instance.stylesheets.include?('hello.css').should == true
end end
it "won't add the same file twice" do it "won't add the same file twice" do
@ -67,7 +67,7 @@ describe DiscoursePluginRegistry do
end end
it 'is returned by DiscoursePluginRegistry.javascripts' do it 'is returned by DiscoursePluginRegistry.javascripts' do
registry_instance.javascripts.include?('hello.js').should be_true registry_instance.javascripts.include?('hello.js').should == true
end end
it "won't add the same file twice" do it "won't add the same file twice" do

View File

@ -6,19 +6,19 @@ describe Email do
describe "is_valid?" do describe "is_valid?" do
it 'treats a good email as valid' do it 'treats a good email as valid' do
Email.is_valid?('sam@sam.com').should be_true Email.is_valid?('sam@sam.com').should == true
end end
it 'treats a bad email as invalid' do it 'treats a bad email as invalid' do
Email.is_valid?('sam@sam').should be_false Email.is_valid?('sam@sam').should == false
end end
it 'allows museum tld' do it 'allows museum tld' do
Email.is_valid?('sam@nic.museum').should be_true Email.is_valid?('sam@nic.museum').should == true
end end
it 'does not think a word is an email' do it 'does not think a word is an email' do
Email.is_valid?('sam').should be_false Email.is_valid?('sam').should == false
end end
end end

View File

@ -28,7 +28,7 @@ describe Email::Receiver do
expect { test_parse_body(fixture_file("emails/no_content_reply.eml")) }.to raise_error(Email::Receiver::EmptyEmailError) expect { test_parse_body(fixture_file("emails/no_content_reply.eml")) }.to raise_error(Email::Receiver::EmptyEmailError)
end end
pending "raises EmailUnparsableError if the headers are corrupted" do skip "raises EmailUnparsableError if the headers are corrupted" do
expect { ; }.to raise_error(Email::Receiver::EmailUnparsableError) expect { ; }.to raise_error(Email::Receiver::EmailUnparsableError)
end end
@ -130,7 +130,7 @@ Thanks for listening."
topic.posts.count.should == (start_count + 1) topic.posts.count.should == (start_count + 1)
created_post = topic.posts.last created_post = topic.posts.last
created_post.via_email.should be_true created_post.via_email.should == true
created_post.cooked.strip.should == fixture_file("emails/valid_reply.cooked").strip created_post.cooked.strip.should == fixture_file("emails/valid_reply.cooked").strip
end end
end end
@ -168,7 +168,7 @@ Thanks for listening."
topic.posts.count.should == (start_count + 1) topic.posts.count.should == (start_count + 1)
topic.posts.last.cooked.should match /<img src=['"](\/uploads\/default\/\d+\/\w{16}\.png)['"] width=['"]289['"] height=['"]126['"]>/ topic.posts.last.cooked.should match /<img src=['"](\/uploads\/default\/\d+\/\w{16}\.png)['"] width=['"]289['"] height=['"]126['"]>/
Upload.find_by(sha1: upload_sha).should_not be_nil Upload.find_by(sha1: upload_sha).should_not == nil
end end
end end

View File

@ -16,11 +16,11 @@ describe Enum do
describe ".valid?" do describe ".valid?" do
it "returns true if a key exists" do it "returns true if a key exists" do
enum.valid?(:finn).should be_true enum.valid?(:finn).should == true
end end
it "returns false if a key does not exist" do it "returns false if a key does not exist" do
enum.valid?(:obama).should be_false enum.valid?(:obama).should == false
end end
end end

File diff suppressed because it is too large Load Diff

View File

@ -13,11 +13,11 @@ describe ImageSizer do
end end
it 'returns nil if the width is nil' do it 'returns nil if the width is nil' do
ImageSizer.resize(nil, 100).should be_nil ImageSizer.resize(nil, 100).should == nil
end end
it 'returns nil if the height is nil' do it 'returns nil if the height is nil' do
ImageSizer.resize(100, nil).should be_nil ImageSizer.resize(100, nil).should == nil
end end
it 'works with string parameters' do it 'works with string parameters' do

View File

@ -71,7 +71,7 @@ describe JsLocaleHelper do
})) }))
ctx.eval('I18n.translations')["en"]["js"]["hello"].should == "world" ctx.eval('I18n.translations')["en"]["js"]["hello"].should == "world"
ctx.eval('I18n.translations')["en"]["js"]["test_MF"].should be_nil ctx.eval('I18n.translations')["en"]["js"]["test_MF"].should == nil
ctx.eval('I18n.messageFormat("test_MF", { HELLO: "hi", COUNT: 3 })').should == "hi 3 ducks" ctx.eval('I18n.messageFormat("test_MF", { HELLO: "hi", COUNT: 3 })').should == "hi 3 ducks"
ctx.eval('I18n.messageFormat("error_MF", { HELLO: "hi", COUNT: 3 })').should =~ /Invalid Format/ ctx.eval('I18n.messageFormat("error_MF", { HELLO: "hi", COUNT: 3 })').should =~ /Invalid Format/

View File

@ -13,15 +13,15 @@ describe Middleware::AnonymousCache::Helper do
context "cachable?" do context "cachable?" do
it "true by default" do it "true by default" do
new_helper.cacheable?.should be_true new_helper.cacheable?.should == true
end end
it "is false for non GET" do it "is false for non GET" do
new_helper("ANON_CACHE_DURATION" => 10, "REQUEST_METHOD" => "POST").cacheable?.should be_false new_helper("ANON_CACHE_DURATION" => 10, "REQUEST_METHOD" => "POST").cacheable?.should == false
end end
it "is false if it has an auth cookie" do it "is false if it has an auth cookie" do
new_helper("HTTP_COOKIE" => "jack=1; _t=#{"1"*32}; jill=2").cacheable?.should be_false new_helper("HTTP_COOKIE" => "jack=1; _t=#{"1"*32}; jill=2").cacheable?.should == false
end end
end end
@ -41,14 +41,14 @@ describe Middleware::AnonymousCache::Helper do
it "returns cached data for cached requests" do it "returns cached data for cached requests" do
helper.is_mobile = true helper.is_mobile = true
helper.cached.should be_nil helper.cached.should == nil
helper.cache([200, {"HELLO" => "WORLD"}, ["hello ", "my world"]]) helper.cache([200, {"HELLO" => "WORLD"}, ["hello ", "my world"]])
helper = new_helper("ANON_CACHE_DURATION" => 10) helper = new_helper("ANON_CACHE_DURATION" => 10)
helper.is_mobile = true helper.is_mobile = true
helper.cached.should == [200, {"HELLO" => "WORLD"}, ["hello my world"]] helper.cached.should == [200, {"HELLO" => "WORLD"}, ["hello my world"]]
crawler.cached.should be_nil crawler.cached.should == nil
crawler.cache([200, {"HELLO" => "WORLD"}, ["hello ", "world"]]) crawler.cache([200, {"HELLO" => "WORLD"}, ["hello ", "world"]])
crawler.cached.should == [200, {"HELLO" => "WORLD"}, ["hello world"]] crawler.cached.should == [200, {"HELLO" => "WORLD"}, ["hello world"]]
end end

View File

@ -10,11 +10,11 @@ describe PinnedCheck do
context "without a topic_user record (either anonymous or never been in the topic)" do context "without a topic_user record (either anonymous or never been in the topic)" do
it "returns false if the topic is not pinned" do it "returns false if the topic is not pinned" do
PinnedCheck.pinned?(unpinned_topic).should be_false PinnedCheck.pinned?(unpinned_topic).should == false
end end
it "returns true if the topic is pinned" do it "returns true if the topic is pinned" do
PinnedCheck.pinned?(unpinned_topic).should be_false PinnedCheck.pinned?(unpinned_topic).should == false
end end
end end
@ -27,7 +27,7 @@ describe PinnedCheck do
let(:topic_user) { TopicUser.new(topic: unpinned_topic, user: user) } let(:topic_user) { TopicUser.new(topic: unpinned_topic, user: user) }
it "returns false" do it "returns false" do
PinnedCheck.pinned?(unpinned_topic, topic_user).should be_false PinnedCheck.pinned?(unpinned_topic, topic_user).should == false
end end
end end
@ -36,17 +36,17 @@ describe PinnedCheck do
let(:topic_user) { TopicUser.new(topic: pinned_topic, user: user) } let(:topic_user) { TopicUser.new(topic: pinned_topic, user: user) }
it "is pinned if the topic_user's cleared_pinned_at is blank" do it "is pinned if the topic_user's cleared_pinned_at is blank" do
PinnedCheck.pinned?(pinned_topic, topic_user).should be_true PinnedCheck.pinned?(pinned_topic, topic_user).should == true
end end
it "is not pinned if the topic_user's cleared_pinned_at is later than when it was pinned_at" do it "is not pinned if the topic_user's cleared_pinned_at is later than when it was pinned_at" do
topic_user.cleared_pinned_at = (pinned_at + 1.hour) topic_user.cleared_pinned_at = (pinned_at + 1.hour)
PinnedCheck.pinned?(pinned_topic, topic_user).should be_false PinnedCheck.pinned?(pinned_topic, topic_user).should == false
end end
it "is pinned if the topic_user's cleared_pinned_at is earlier than when it was pinned_at" do it "is pinned if the topic_user's cleared_pinned_at is earlier than when it was pinned_at" do
topic_user.cleared_pinned_at = (pinned_at - 3.hours) topic_user.cleared_pinned_at = (pinned_at - 3.hours)
PinnedCheck.pinned?(pinned_topic, topic_user).should be_true PinnedCheck.pinned?(pinned_topic, topic_user).should == true
end end
end end

View File

@ -123,11 +123,11 @@ describe Plugin::Instance do
# calls ensure_assets! make sure they are there # calls ensure_assets! make sure they are there
plugin.assets.count.should == 1 plugin.assets.count.should == 1
plugin.assets.each do |a, opts| plugin.assets.each do |a, opts|
File.exists?(a).should be_true File.exists?(a).should == true
end end
# ensure it cleans up all crap in autogenerated directory # ensure it cleans up all crap in autogenerated directory
File.exists?(junk_file).should be_false File.exists?(junk_file).should == false
end end
it "finds all the custom assets" do it "finds all the custom assets" do

View File

@ -59,7 +59,7 @@ describe PostCreator do
it "doesn't return true for spam" do it "doesn't return true for spam" do
creator.create creator.create
creator.spam?.should be_false creator.spam?.should == false
end end
it "does not notify on system messages" do it "does not notify on system messages" do
@ -70,8 +70,8 @@ describe PostCreator do
end end
# don't notify on system messages they introduce too much noise # don't notify on system messages they introduce too much noise
channels = messages.map(&:channel) channels = messages.map(&:channel)
channels.find{|s| s =~ /unread/}.should be_nil channels.find{|s| s =~ /unread/}.should == nil
channels.find{|s| s =~ /new/}.should be_nil channels.find{|s| s =~ /new/}.should == nil
end end
it "generates the correct messages for a secure topic" do it "generates the correct messages for a secure topic" do
@ -104,7 +104,7 @@ describe PostCreator do
].sort ].sort
admin_ids = [Group[:admins].id] admin_ids = [Group[:admins].id]
messages.any?{|m| m.group_ids != admin_ids && m.user_ids != [admin.id]}.should be_false messages.any?{|m| m.group_ids != admin_ids && m.user_ids != [admin.id]}.should == false
end end
it 'generates the correct messages for a normal topic' do it 'generates the correct messages for a normal topic' do
@ -115,16 +115,16 @@ describe PostCreator do
end end
latest = messages.find{|m| m.channel == "/latest"} latest = messages.find{|m| m.channel == "/latest"}
latest.should_not be_nil latest.should_not == nil
latest = messages.find{|m| m.channel == "/new"} latest = messages.find{|m| m.channel == "/new"}
latest.should_not be_nil latest.should_not == nil
read = messages.find{|m| m.channel == "/unread/#{p.user_id}"} read = messages.find{|m| m.channel == "/unread/#{p.user_id}"}
read.should_not be_nil read.should_not == nil
user_action = messages.find{|m| m.channel == "/users/#{p.user.username}"} user_action = messages.find{|m| m.channel == "/users/#{p.user.username}"}
user_action.should_not be_nil user_action.should_not == nil
messages.length.should == 5 messages.length.should == 5
end end
@ -207,7 +207,7 @@ describe PostCreator do
it 'ensures the user can auto-close the topic, but ignores auto-close param silently' do it 'ensures the user can auto-close the topic, but ignores auto-close param silently' do
Guardian.any_instance.stubs(:can_moderate?).returns(false) Guardian.any_instance.stubs(:can_moderate?).returns(false)
post = PostCreator.new(user, basic_topic_params.merge(auto_close_time: 2)).create post = PostCreator.new(user, basic_topic_params.merge(auto_close_time: 2)).create
post.topic.auto_close_at.should be_nil post.topic.auto_close_at.should == nil
end end
end end
end end
@ -288,7 +288,7 @@ describe PostCreator do
GroupMessage.stubs(:create) GroupMessage.stubs(:create)
creator.create creator.create
creator.errors.should be_present creator.errors.should be_present
creator.spam?.should be_true creator.spam?.should == true
end end
it "sends a message to moderators" do it "sends a message to moderators" do
@ -358,7 +358,7 @@ describe PostCreator do
post.topic.topic_allowed_users.count.should == 3 post.topic.topic_allowed_users.count.should == 3
# PMs can't have a category # PMs can't have a category
post.topic.category.should be_nil post.topic.category.should == nil
# does not notify an unrelated user # does not notify an unrelated user
unrelated.notifications.count.should == 0 unrelated.notifications.count.should == 0
@ -469,7 +469,7 @@ describe PostCreator do
it 'can save a post' do it 'can save a post' do
creator = PostCreator.new(user, raw: 'q', title: 'q', skip_validations: true) creator = PostCreator.new(user, raw: 'q', title: 'q', skip_validations: true)
creator.create creator.create
creator.errors.should be_nil creator.errors.should == nil
end end
end end
@ -494,7 +494,7 @@ describe PostCreator do
title: 'Reviews of Science Ovens', title: 'Reviews of Science Ovens',
raw: 'Did you know that you can use microwaves to cook your dinner? Science!') raw: 'Did you know that you can use microwaves to cook your dinner? Science!')
creator.create creator.create
TopicEmbed.where(embed_url: embed_url).exists?.should be_true TopicEmbed.where(embed_url: embed_url).exists?.should == true
end end
end end

View File

@ -106,7 +106,7 @@ describe PostDestroyer do
post2.deleted_at.should be_blank post2.deleted_at.should be_blank
post2.deleted_by.should be_blank post2.deleted_by.should be_blank
post2.user_deleted.should be_true post2.user_deleted.should == true
post2.raw.should == I18n.t('js.post.deleted_by_author', {count: 24}) post2.raw.should == I18n.t('js.post.deleted_by_author', {count: 24})
post2.version.should == 2 post2.version.should == 2
@ -114,7 +114,7 @@ describe PostDestroyer do
PostDestroyer.new(post2.user, post2).recover PostDestroyer.new(post2.user, post2).recover
post2.reload post2.reload
post2.version.should == 3 post2.version.should == 3
post2.user_deleted.should be_false post2.user_deleted.should == false
post2.cooked.should == @orig post2.cooked.should == @orig
end end
@ -177,7 +177,7 @@ describe PostDestroyer do
let(:topic_user) { second_user.topic_users.find_by(topic_id: topic.id) } let(:topic_user) { second_user.topic_users.find_by(topic_id: topic.id) }
it 'clears the posted flag for the second user' do it 'clears the posted flag for the second user' do
topic_user.posted?.should be_false topic_user.posted?.should == false
end end
it "sets the second user's last_read_post_number back to 1" do it "sets the second user's last_read_post_number back to 1" do
@ -314,8 +314,8 @@ describe PostDestroyer do
PostDestroyer.new(moderator, second_post).destroy PostDestroyer.new(moderator, second_post).destroy
expect(UserAction.find_by(id: bookmark.id)).to be_nil expect(UserAction.find_by(id: bookmark.id)).should == nil
expect(UserAction.find_by(id: like.id)).to be_nil expect(UserAction.find_by(id: like.id)).should == nil
end end
end end

View File

@ -16,7 +16,7 @@ describe PostRevisor do
describe 'with the same body' do describe 'with the same body' do
it "doesn't change version" do it "doesn't change version" do
lambda { lambda {
subject.revise!(post.user, post.raw).should be_false subject.revise!(post.user, post.raw).should == false
post.reload post.reload
}.should_not change(post, :version) }.should_not change(post, :version)
end end
@ -110,7 +110,7 @@ describe PostRevisor do
let(:new_description) { "this is my new description." } let(:new_description) { "this is my new description." }
it "should have to description by default" do it "should have no description by default" do
category.description.should be_blank category.description.should be_blank
end end
@ -120,8 +120,8 @@ describe PostRevisor do
category.reload category.reload
end end
it "returns true for category_changed" do it "returns the changed category info" do
subject.category_changed.should be_true subject.category_changed.should == category
end end
it "updates the description of the category" do it "updates the description of the category" do
@ -155,7 +155,7 @@ describe PostRevisor do
category.description.should be_blank category.description.should be_blank
end end
it "returns true for category_changed" do it "returns the changed category info" do
subject.category_changed.should == category subject.category_changed.should == category
end end
end end
@ -211,7 +211,7 @@ describe PostRevisor do
let!(:result) { subject.revise!(changed_by, "lets update the body") } let!(:result) { subject.revise!(changed_by, "lets update the body") }
it 'returns true' do it 'returns true' do
result.should be_true result.should == true
end end
it 'updates the body' do it 'updates the body' do

View File

@ -53,23 +53,23 @@ describe PrettyText do
end end
it "should not inject nofollow in all local links" do it "should not inject nofollow in all local links" do
(PrettyText.cook("<a href='#{Discourse.base_url}/test.html'>cnn</a>") !~ /nofollow/).should be_true (PrettyText.cook("<a href='#{Discourse.base_url}/test.html'>cnn</a>") !~ /nofollow/).should == true
end end
it "should not inject nofollow in all subdomain links" do it "should not inject nofollow in all subdomain links" do
(PrettyText.cook("<a href='#{Discourse.base_url.sub('http://', 'http://bla.')}/test.html'>cnn</a>") !~ /nofollow/).should be_true (PrettyText.cook("<a href='#{Discourse.base_url.sub('http://', 'http://bla.')}/test.html'>cnn</a>") !~ /nofollow/).should == true
end end
it "should not inject nofollow for foo.com" do it "should not inject nofollow for foo.com" do
(PrettyText.cook("<a href='http://foo.com/test.html'>cnn</a>") !~ /nofollow/).should be_true (PrettyText.cook("<a href='http://foo.com/test.html'>cnn</a>") !~ /nofollow/).should == true
end end
it "should not inject nofollow for bar.foo.com" do it "should not inject nofollow for bar.foo.com" do
(PrettyText.cook("<a href='http://bar.foo.com/test.html'>cnn</a>") !~ /nofollow/).should be_true (PrettyText.cook("<a href='http://bar.foo.com/test.html'>cnn</a>") !~ /nofollow/).should == true
end end
it "should not inject nofollow if omit_nofollow option is given" do it "should not inject nofollow if omit_nofollow option is given" do
(PrettyText.cook('<a href="http://cnn.com">cnn</a>', omit_nofollow: true) !~ /nofollow/).should be_true (PrettyText.cook('<a href="http://cnn.com">cnn</a>', omit_nofollow: true) !~ /nofollow/).should == true
end end
end end

View File

@ -26,7 +26,7 @@ describe Promotion do
let!(:result) { promotion.review } let!(:result) { promotion.review }
it "returns false" do it "returns false" do
result.should be_false result.should == false
end end
it "has not changed the user's trust level" do it "has not changed the user's trust level" do
@ -45,7 +45,7 @@ describe Promotion do
end end
it "returns true" do it "returns true" do
@result.should be_true @result.should == true
end end
it "has upgraded the user to basic" do it "has upgraded the user to basic" do
@ -64,7 +64,7 @@ describe Promotion do
let!(:result) { promotion.review } let!(:result) { promotion.review }
it "returns false" do it "returns false" do
result.should be_false result.should == false
end end
it "has not changed the user's trust level" do it "has not changed the user's trust level" do
@ -88,7 +88,7 @@ describe Promotion do
end end
it "returns true" do it "returns true" do
@result.should be_true @result.should == true
end end
it "has upgraded the user to regular" do it "has upgraded the user to regular" do

View File

@ -14,7 +14,7 @@ describe RateLimiter do
end end
it "returns true for can_perform?" do it "returns true for can_perform?" do
rate_limiter.can_perform?.should be_true rate_limiter.can_perform?.should == true
end end
it "doesn't raise an error on performed!" do it "doesn't raise an error on performed!" do
@ -31,7 +31,7 @@ describe RateLimiter do
context 'never done' do context 'never done' do
it "should perform right away" do it "should perform right away" do
rate_limiter.can_perform?.should be_true rate_limiter.can_perform?.should == true
end end
it "performs without an error" do it "performs without an error" do
@ -46,7 +46,7 @@ describe RateLimiter do
end end
it "returns false for can_perform when the limit has been hit" do it "returns false for can_perform when the limit has been hit" do
rate_limiter.can_perform?.should be_false rate_limiter.can_perform?.should == false
end end
it "raises an error the third time called" do it "raises an error the third time called" do
@ -57,7 +57,7 @@ describe RateLimiter do
it "returns true for can_perform if the user is an admin" do it "returns true for can_perform if the user is an admin" do
user.admin = true user.admin = true
rate_limiter.can_perform?.should be_true rate_limiter.can_perform?.should == true
end end
it "doesn't raise an error when an admin performs the task" do it "doesn't raise an error when an admin performs the task" do
@ -67,7 +67,7 @@ describe RateLimiter do
it "returns true for can_perform if the user is a mod" do it "returns true for can_perform if the user is a mod" do
user.moderator = true user.moderator = true
rate_limiter.can_perform?.should be_true rate_limiter.can_perform?.should == true
end end
it "doesn't raise an error when a moderator performs the task" do it "doesn't raise an error when a moderator performs the task" do
@ -84,7 +84,7 @@ describe RateLimiter do
end end
it "returns true for can_perform since there is now room" do it "returns true for can_perform since there is now room" do
rate_limiter.can_perform?.should be_true rate_limiter.can_perform?.should == true
end end
it "raises no error now that there is room" do it "raises no error now that there is room" do

View File

@ -51,7 +51,7 @@ describe "Redis Store" do
end end
store.clear store.clear
store.read("key").should be_nil store.read("key").should == nil
cache.fetch("key").should == "key in cache" cache.fetch("key").should == "key in cache"
end end

View File

@ -32,25 +32,25 @@ describe Scheduler::ScheduleInfo do
end end
it 'starts off invalid' do it 'starts off invalid' do
@info.valid?.should be_false @info.valid?.should == false
end end
it 'will have a due date in the next 5 minutes if it was blank' do it 'will have a due date in the next 5 minutes if it was blank' do
@info.schedule! @info.schedule!
@info.valid?.should be_true @info.valid?.should == true
@info.next_run.should be_within(5.minutes).of(Time.now.to_i) @info.next_run.should be_within(5.minutes).of(Time.now.to_i)
end end
it 'will have a due date within the next hour if it just ran' do it 'will have a due date within the next hour if it just ran' do
@info.prev_run = Time.now.to_i @info.prev_run = Time.now.to_i
@info.schedule! @info.schedule!
@info.valid?.should be_true @info.valid?.should == true
@info.next_run.should be_within(1.hour * manager.random_ratio).of(Time.now.to_i + 1.hour) @info.next_run.should be_within(1.hour * manager.random_ratio).of(Time.now.to_i + 1.hour)
end end
it 'is invalid if way in the future' do it 'is invalid if way in the future' do
@info.next_run = Time.now.to_i + 1.year @info.next_run = Time.now.to_i + 1.year
@info.valid?.should be_false @info.valid?.should == false
end end
end end
@ -79,19 +79,18 @@ describe Scheduler::ScheduleInfo do
end end
it "starts off invalid" do it "starts off invalid" do
@info.valid?.should be_false @info.valid?.should == false
end end
it "will have a due date at the appropriate time if blank" do skip "will have a due date at the appropriate time if blank" do
pending @info.next_run.should == nil
@info.next_run.should be_nil
@info.schedule! @info.schedule!
@info.valid?.should be_true @info.valid?.should == true
end end
it 'is invalid if way in the future' do it 'is invalid if way in the future' do
@info.next_run = Time.now.to_i + 1.year @info.next_run = Time.now.to_i + 1.year
@info.valid?.should be_false @info.valid?.should == false
end end
end end

View File

@ -39,14 +39,14 @@ describe ScoreCalculator do
it "won't update the site settings when the site settings don't match" do it "won't update the site settings when the site settings don't match" do
ScoreCalculator.new(reads: 3).calculate ScoreCalculator.new(reads: 3).calculate
topic.reload topic.reload
topic.has_summary.should be_false topic.has_summary.should == false
end end
it "removes the summary flag if the topic no longer qualifies" do it "removes the summary flag if the topic no longer qualifies" do
topic.update_column(:has_summary, true) topic.update_column(:has_summary, true)
ScoreCalculator.new(reads: 3).calculate ScoreCalculator.new(reads: 3).calculate
topic.reload topic.reload
topic.has_summary.should be_false topic.has_summary.should == false
end end
it "won't update the site settings when the site settings don't match" do it "won't update the site settings when the site settings don't match" do
@ -56,7 +56,7 @@ describe ScoreCalculator do
ScoreCalculator.new(reads: 3).calculate ScoreCalculator.new(reads: 3).calculate
topic.reload topic.reload
topic.has_summary.should be_true topic.has_summary.should == true
end end
end end

View File

@ -45,7 +45,7 @@ describe SuggestedTopicsBuilder do
end end
it "has the correct defaults" do it "has the correct defaults" do
builder.excluded_topic_ids.include?(topic.id).should be_true builder.excluded_topic_ids.include?(topic.id).should == true
builder.results_left.should == 5 builder.results_left.should == 5
builder.size.should == 0 builder.size.should == 0
builder.should_not be_full builder.should_not be_full
@ -77,8 +77,8 @@ describe SuggestedTopicsBuilder do
builder.size.should == 1 builder.size.should == 1
builder.results_left.should == 4 builder.results_left.should == 4
builder.should_not be_full builder.should_not be_full
builder.excluded_topic_ids.include?(topic.id).should be_true builder.excluded_topic_ids.include?(topic.id).should == true
builder.excluded_topic_ids.include?(other_topic.id).should be_true builder.excluded_topic_ids.include?(other_topic.id).should == true
end end
end end

View File

@ -19,7 +19,7 @@ describe SystemMessage do
topic.should be_private_message topic.should be_private_message
topic.should be_valid topic.should be_valid
topic.subtype.should == TopicSubtype.system_message topic.subtype.should == TopicSubtype.system_message
topic.allowed_users.include?(user).should be_true topic.allowed_users.include?(user).should == true
end end
end end

View File

@ -38,7 +38,7 @@ describe TopicCreator do
it "ignores auto_close_time without raising an error" do 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 = TopicCreator.create(user, Guardian.new(user), valid_attrs.merge(auto_close_time: '24'))
topic.should be_valid topic.should be_valid
topic.auto_close_at.should be_nil topic.auto_close_at.should == nil
end end
it "category name is case insensitive" do it "category name is case insensitive" do

View File

@ -151,10 +151,10 @@ describe TopicQuery do
topics.map(&:id).should == [pinned_topic, future_topic, closed_topic, archived_topic, regular_topic].map(&:id) topics.map(&:id).should == [pinned_topic, future_topic, closed_topic, archived_topic, regular_topic].map(&:id)
# includes the invisible topic if you're a moderator # includes the invisible topic if you're a moderator
TopicQuery.new(moderator).list_latest.topics.include?(invisible_topic).should be_true TopicQuery.new(moderator).list_latest.topics.include?(invisible_topic).should == true
# includes the invisible topic if you're an admin" do # includes the invisible topic if you're an admin" do
TopicQuery.new(admin).list_latest.topics.include?(invisible_topic).should be_true TopicQuery.new(admin).list_latest.topics.include?(invisible_topic).should == true
end end
context 'sort_order' do context 'sort_order' do
@ -351,7 +351,7 @@ describe TopicQuery do
let!(:created_topic) { create_post(user: user).topic } let!(:created_topic) { create_post(user: user).topic }
it "includes the created topic" do it "includes the created topic" do
topics.include?(created_topic).should be_true topics.include?(created_topic).should == true
end end
end end
@ -360,7 +360,7 @@ describe TopicQuery do
let!(:your_post) { create_post(user: user, topic: other_users_topic )} let!(:your_post) { create_post(user: user, topic: other_users_topic )}
it "includes the posted topic" do it "includes the posted topic" do
topics.include?(other_users_topic).should be_true topics.include?(other_users_topic).should == true
end end
end end

View File

@ -193,14 +193,14 @@ describe TopicView do
context '.read?' do context '.read?' do
it 'tracks correctly' do it 'tracks correctly' do
# anon is assumed to have read everything # anon is assumed to have read everything
TopicView.new(topic.id).read?(1).should be_true TopicView.new(topic.id).read?(1).should == true
# random user has nothing # random user has nothing
topic_view.read?(1).should be_false topic_view.read?(1).should == false
# a real user that just read it should have it marked # a real user that just read it should have it marked
PostTiming.process_timings(coding_horror, topic.id, 1, [[1,1000]]) PostTiming.process_timings(coding_horror, topic.id, 1, [[1,1000]])
TopicView.new(topic.id, coding_horror).read?(1).should be_true TopicView.new(topic.id, coding_horror).read?(1).should == true
TopicView.new(topic.id, coding_horror).topic_user.should be_present TopicView.new(topic.id, coding_horror).topic_user.should be_present
end end
end end
@ -225,8 +225,8 @@ describe TopicView do
recent_posts.count.should == 25 recent_posts.count.should == 25
# ordering # ordering
recent_posts.include?(p1).should be_false recent_posts.include?(p1).should == false
recent_posts.include?(p3).should be_true recent_posts.include?(p3).should == true
recent_posts.first.created_at.should > recent_posts.last.created_at recent_posts.first.created_at.should > recent_posts.last.created_at
end end
end end
@ -259,13 +259,13 @@ describe TopicView do
describe "contains_gaps?" do describe "contains_gaps?" do
it "works" do it "works" do
# does not contain contains_gaps with default filtering # does not contain contains_gaps with default filtering
topic_view.contains_gaps?.should be_false topic_view.contains_gaps?.should == false
# contains contains_gaps when filtered by username" do # contains contains_gaps when filtered by username" do
TopicView.new(topic.id, coding_horror, username_filters: ['eviltrout']).contains_gaps?.should be_true TopicView.new(topic.id, coding_horror, username_filters: ['eviltrout']).contains_gaps?.should == true
# contains contains_gaps when filtered by summary # contains contains_gaps when filtered by summary
TopicView.new(topic.id, coding_horror, filter: 'summary').contains_gaps?.should be_true TopicView.new(topic.id, coding_horror, filter: 'summary').contains_gaps?.should == true
# contains contains_gaps when filtered by best # contains contains_gaps when filtered by best
TopicView.new(topic.id, coding_horror, best: 5).contains_gaps?.should be_true TopicView.new(topic.id, coding_horror, best: 5).contains_gaps?.should == true
end end
end end
@ -309,21 +309,21 @@ describe TopicView do
near_view = topic_view_near(p1) near_view = topic_view_near(p1)
near_view.desired_post.should == p1 near_view.desired_post.should == p1
near_view.posts.should == [p1, p2, p3] near_view.posts.should == [p1, p2, p3]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
it "snaps to the upper boundary" do it "snaps to the upper boundary" do
near_view = topic_view_near(p5) near_view = topic_view_near(p5)
near_view.desired_post.should == p5 near_view.desired_post.should == p5
near_view.posts.should == [p2, p3, p5] near_view.posts.should == [p2, p3, p5]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
it "returns the posts in the middle" do it "returns the posts in the middle" do
near_view = topic_view_near(p2) near_view = topic_view_near(p2)
near_view.desired_post.should == p2 near_view.desired_post.should == p2
near_view.posts.should == [p1, p2, p3] near_view.posts.should == [p1, p2, p3]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
it "gaps deleted posts to an admin" do it "gaps deleted posts to an admin" do
@ -340,7 +340,7 @@ describe TopicView do
near_view = topic_view_near(p3, true) near_view = topic_view_near(p3, true)
near_view.desired_post.should == p3 near_view.desired_post.should == p3
near_view.posts.should == [p2, p3, p4] near_view.posts.should == [p2, p3, p4]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
it "gaps deleted posts by nuked users to an admin" do it "gaps deleted posts by nuked users to an admin" do
@ -358,7 +358,7 @@ describe TopicView do
near_view = topic_view_near(p5, true) near_view = topic_view_near(p5, true)
near_view.desired_post.should == p5 near_view.desired_post.should == p5
near_view.posts.should == [p4, p5, p6] near_view.posts.should == [p4, p5, p6]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
context "when 'posts per page' exceeds the number of posts" do context "when 'posts per page' exceeds the number of posts" do
@ -367,7 +367,7 @@ describe TopicView do
it 'returns all the posts' do it 'returns all the posts' do
near_view = topic_view_near(p5) near_view = topic_view_near(p5)
near_view.posts.should == [p1, p2, p3, p5] near_view.posts.should == [p1, p2, p3, p5]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
it 'gaps deleted posts to admins' do it 'gaps deleted posts to admins' do
@ -382,7 +382,7 @@ describe TopicView do
coding_horror.admin = true coding_horror.admin = true
near_view = topic_view_near(p5, true) near_view = topic_view_near(p5, true)
near_view.posts.should == [p1, p2, p3, p4, p5, p6, p7] near_view.posts.should == [p1, p2, p3, p4, p5, p6, p7]
near_view.contains_gaps?.should be_false near_view.contains_gaps?.should == false
end end
end end
end end

View File

@ -15,21 +15,21 @@ describe UrlHelper do
store = stub store = stub
store.expects(:has_been_uploaded?).returns(true) store.expects(:has_been_uploaded?).returns(true)
Discourse.stubs(:store).returns(store) Discourse.stubs(:store).returns(store)
helper.is_local("http://discuss.site.com/path/to/file.png").should be_true helper.is_local("http://discuss.site.com/path/to/file.png").should == true
end end
it "is true for relative assets" do it "is true for relative assets" do
store = stub store = stub
store.expects(:has_been_uploaded?).returns(false) store.expects(:has_been_uploaded?).returns(false)
Discourse.stubs(:store).returns(store) Discourse.stubs(:store).returns(store)
helper.is_local("/assets/javascripts/all.js").should be_true helper.is_local("/assets/javascripts/all.js").should == true
end end
it "is true for plugin assets" do it "is true for plugin assets" do
store = stub store = stub
store.expects(:has_been_uploaded?).returns(false) store.expects(:has_been_uploaded?).returns(false)
Discourse.stubs(:store).returns(store) Discourse.stubs(:store).returns(store)
helper.is_local("/plugins/all.js").should be_true helper.is_local("/plugins/all.js").should == true
end end
end end

View File

@ -15,7 +15,7 @@ describe UserNameSuggester do
end end
it "doesn't raise an error on nil username" do it "doesn't raise an error on nil username" do
UserNameSuggester.suggest(nil).should be_nil UserNameSuggester.suggest(nil).should == nil
end end
it 'corrects weird characters' do it 'corrects weird characters' do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::ApiController do describe Admin::ApiController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ApiController < Admin::AdminController).should be_true (Admin::ApiController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -3,7 +3,7 @@ require "spec_helper"
describe Admin::BackupsController do describe Admin::BackupsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::BackupsController < Admin::AdminController).should be_true (Admin::BackupsController < Admin::AdminController).should == true
end end
let(:backup_filename) { "2014-02-10-065935.tar.gz" } let(:backup_filename) { "2014-02-10-065935.tar.gz" }
@ -81,7 +81,7 @@ describe Admin::BackupsController do
# response.should be_success # response.should be_success
# json = JSON.parse(response.body) # json = JSON.parse(response.body)
# json["message"].should_not be_nil # json["message"].should_not == nil
# end # end
end end

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe Admin::ColorSchemesController do describe Admin::ColorSchemesController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(described_class < Admin::AdminController).should be_true (described_class < Admin::AdminController).should == true
end end
context "while logged in as an admin" do context "while logged in as an admin" do

View File

@ -8,7 +8,7 @@ describe Admin::DashboardController do
end end
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::DashboardController < Admin::AdminController).should be_true (Admin::DashboardController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::EmailController do describe Admin::EmailController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::EmailController < Admin::AdminController).should be_true (Admin::EmailController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -3,7 +3,7 @@ require "spec_helper"
describe Admin::ExportCsvController do describe Admin::ExportCsvController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ExportCsvController < Admin::AdminController).should be_true (Admin::ExportCsvController < Admin::AdminController).should == true
end end
let(:export_filename) { "export_b6a2bc87.csv" } let(:export_filename) { "export_b6a2bc87.csv" }

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::FlagsController do describe Admin::FlagsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::FlagsController < Admin::AdminController).should be_true (Admin::FlagsController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -7,7 +7,7 @@ describe Admin::GroupsController do
end end
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::GroupsController < Admin::AdminController).should be_true (Admin::GroupsController < Admin::AdminController).should == true
end end
it "produces valid json for groups" do it "produces valid json for groups" do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::ImpersonateController do describe Admin::ImpersonateController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ImpersonateController < Admin::AdminController).should be_true (Admin::ImpersonateController < Admin::AdminController).should == true
end end

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::ReportsController do describe Admin::ReportsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ReportsController < Admin::AdminController).should be_true (Admin::ReportsController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe Admin::ScreenedEmailsController do describe Admin::ScreenedEmailsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ScreenedEmailsController < Admin::AdminController).should be_true (Admin::ScreenedEmailsController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe Admin::ScreenedIpAddressesController do describe Admin::ScreenedIpAddressesController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ScreenedIpAddressesController < Admin::AdminController).should be_true (Admin::ScreenedIpAddressesController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe Admin::ScreenedUrlsController do describe Admin::ScreenedUrlsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::ScreenedUrlsController < Admin::AdminController).should be_true (Admin::ScreenedUrlsController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::SiteCustomizationsController do describe Admin::SiteCustomizationsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::UsersController < Admin::AdminController).should be_true (Admin::UsersController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::SiteSettingsController do describe Admin::SiteSettingsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::SiteSettingsController < Admin::AdminController).should be_true (Admin::SiteSettingsController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::SiteTextController do describe Admin::SiteTextController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::SiteTextController < Admin::AdminController).should be_true (Admin::SiteTextController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::SiteTextTypesController do describe Admin::SiteTextTypesController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::SiteTextTypesController < Admin::AdminController).should be_true (Admin::SiteTextTypesController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe Admin::StaffActionLogsController do describe Admin::StaffActionLogsController do
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::StaffActionLogsController < Admin::AdminController).should be_true (Admin::StaffActionLogsController < Admin::AdminController).should == true
end end
let!(:user) { log_in(:admin) } let!(:user) { log_in(:admin) }

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe Admin::UsersController do describe Admin::UsersController do
it 'is a subclass of AdminController' do it 'is a subclass of AdminController' do
(Admin::UsersController < Admin::AdminController).should be_true (Admin::UsersController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do
@ -214,7 +214,7 @@ describe Admin::UsersController do
it 'updates the moderator flag' do it 'updates the moderator flag' do
xhr :put, :revoke_moderation, user_id: @moderator.id xhr :put, :revoke_moderation, user_id: @moderator.id
@moderator.reload @moderator.reload
@moderator.moderator.should_not be_true @moderator.moderator.should_not == true
end end
end end
@ -237,7 +237,7 @@ describe Admin::UsersController do
it 'updates the moderator flag' do it 'updates the moderator flag' do
xhr :put, :grant_moderation, user_id: @another_user.id xhr :put, :grant_moderation, user_id: @another_user.id
@another_user.reload @another_user.reload
@another_user.moderator.should be_true @another_user.moderator.should == true
end end
end end

View File

@ -11,7 +11,7 @@ describe Admin::VersionsController do
end end
it "is a subclass of AdminController" do it "is a subclass of AdminController" do
(Admin::VersionsController < Admin::AdminController).should be_true (Admin::VersionsController < Admin::AdminController).should == true
end end
context 'while logged in as an admin' do context 'while logged in as an admin' do

View File

@ -16,7 +16,7 @@ describe DraftController do
user = log_in user = log_in
Draft.set(user, 'xxx', 0, 'hi') Draft.set(user, 'xxx', 0, 'hi')
delete :destroy, draft_key: 'xxx', sequence: 0 delete :destroy, draft_key: 'xxx', sequence: 0
Draft.get(user, 'xxx', 0).should be_nil Draft.get(user, 'xxx', 0).should == nil
end end
end end

View File

@ -30,7 +30,7 @@ describe EmailController do
end end
it 'subscribes the user' do it 'subscribes the user' do
user.email_digests.should be_true user.email_digests.should == true
end end
end end
@ -47,7 +47,7 @@ describe EmailController do
end end
it 'unsubscribes the user' do it 'unsubscribes the user' do
user.email_digests.should be_false user.email_digests.should == false
end end
it "sets the appropriate instance variables" do it "sets the appropriate instance variables" do
@ -74,7 +74,7 @@ describe EmailController do
end end
it 'does not unsubscribe the user' do it 'does not unsubscribe the user' do
user.email_digests.should be_true user.email_digests.should == true
end end
it 'sets the appropriate instance variables' do it 'sets the appropriate instance variables' do
@ -92,7 +92,7 @@ describe EmailController do
end end
it 'unsubscribes the user' do it 'unsubscribes the user' do
user.email_digests.should be_false user.email_digests.should == false
end end
it 'sets the appropriate instance variables' do it 'sets the appropriate instance variables' do
@ -102,7 +102,7 @@ describe EmailController do
it "sets not_found when the key didn't match anything" do it "sets not_found when the key didn't match anything" do
get :unsubscribe, key: 'asdfasdf' get :unsubscribe, key: 'asdfasdf'
assigns(:not_found).should be_true assigns(:not_found).should == true
end end
end end

View File

@ -94,7 +94,7 @@ describe PostActionsController do
it 'deletes the action' do it 'deletes the action' do
xhr :delete, :destroy, id: post.id, post_action_type_id: 1 xhr :delete, :destroy, id: post.id, post_action_type_id: 1
PostAction.exists?(user_id: user.id, post_id: post.id, post_action_type_id: 1, deleted_at: nil).should be_false PostAction.exists?(user_id: user.id, post_id: post.id, post_action_type_id: 1, deleted_at: nil).should == false
end end
it 'ensures it can be deleted' do it 'ensures it can be deleted' do

View File

@ -341,7 +341,7 @@ describe PostsController do
xhr :put, :wiki, post_id: post.id, wiki: 'true' xhr :put, :wiki, post_id: post.id, wiki: 'true'
post.reload post.reload
post.wiki.should be_true post.wiki.should == true
end end
it "can unwiki a post" do it "can unwiki a post" do
@ -351,7 +351,7 @@ describe PostsController do
xhr :put, :wiki, post_id: wikied_post.id, wiki: 'false' xhr :put, :wiki, post_id: wikied_post.id, wiki: 'false'
wikied_post.reload wikied_post.reload
wikied_post.wiki.should be_false wikied_post.wiki.should == false
end end
end end

View File

@ -69,7 +69,7 @@ describe TopicsController do
it "returns success" do it "returns success" do
response.should be_success response.should be_success
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
result['success'].should be_true result['success'].should == true
result['url'].should be_present result['url'].should be_present
end end
end end
@ -85,7 +85,7 @@ describe TopicsController do
it "returns JSON with a false success" do it "returns JSON with a false success" do
response.should be_success response.should be_success
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
result['success'].should be_false result['success'].should == false
result['url'].should be_blank result['url'].should be_blank
end end
end end
@ -129,7 +129,7 @@ describe TopicsController do
it "returns success" do it "returns success" do
response.should be_success response.should be_success
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
result['success'].should be_true result['success'].should == true
result['url'].should be_present result['url'].should be_present
end end
end end
@ -145,7 +145,7 @@ describe TopicsController do
it "returns JSON with a false success" do it "returns JSON with a false success" do
response.should be_success response.should be_success
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
result['success'].should be_false result['success'].should == false
result['url'].should be_blank result['url'].should be_blank
end end
end end
@ -185,7 +185,7 @@ describe TopicsController do
it "returns success" do it "returns success" do
response.should be_success response.should be_success
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
result['success'].should be_true result['success'].should == true
result['url'].should be_present result['url'].should be_present
end end
end end

View File

@ -19,7 +19,7 @@ describe UserActionsController do
actions.length.should == 1 actions.length.should == 1
action = actions[0] action = actions[0]
action["acting_name"].should == post.user.name action["acting_name"].should == post.user.name
action["email"].should be_nil action["email"].should == nil
action["post_number"].should == 1 action["post_number"].should == 1
end end
end end

View File

@ -13,7 +13,7 @@ describe UserBadgesController do
xhr :get, :index, badge_id: badge.id xhr :get, :index, badge_id: badge.id
response.status.should == 200 response.status.should == 200
parsed = JSON.parse(response.body) parsed = JSON.parse(response.body)
parsed["topics"].should be_nil parsed["topics"].should == nil
parsed["user_badges"][0]["post_id"].should == nil parsed["user_badges"][0]["post_id"].should == nil
end end
end end
@ -46,7 +46,7 @@ describe UserBadgesController do
response.status.should == 200 response.status.should == 200
parsed = JSON.parse(response.body) parsed = JSON.parse(response.body)
parsed["user_badges"].first.has_key?('count').should be_true parsed["user_badges"].first.has_key?('count').should == true
end end
end end
@ -102,7 +102,7 @@ describe UserBadgesController do
StaffActionLogger.any_instance.expects(:log_badge_revoke).once StaffActionLogger.any_instance.expects(:log_badge_revoke).once
xhr :delete, :destroy, id: user_badge.id xhr :delete, :destroy, id: user_badge.id
response.status.should == 200 response.status.should == 200
UserBadge.find_by(id: user_badge.id).should be_nil UserBadge.find_by(id: user_badge.id).should == nil
end end
end end
end end

View File

@ -251,7 +251,7 @@ describe UsersController do
it 'disallows login' do it 'disallows login' do
flash[:error].should be_present flash[:error].should be_present
session[:current_user_id].should be_blank session[:current_user_id].should be_blank
assigns[:invalid_token].should be_nil assigns[:invalid_token].should == nil
response.should be_success response.should be_success
end end
end end
@ -264,7 +264,7 @@ describe UsersController do
it 'disallows login' do it 'disallows login' do
flash[:error].should be_present flash[:error].should be_present
session[:current_user_id].should be_blank session[:current_user_id].should be_blank
assigns[:invalid_token].should be_true assigns[:invalid_token].should == true
response.should be_success response.should be_success
end end
end end
@ -345,7 +345,7 @@ describe UsersController do
SiteSetting.stubs(:allow_new_registrations).returns(false) SiteSetting.stubs(:allow_new_registrations).returns(false)
post_user post_user
json = JSON.parse(response.body) json = JSON.parse(response.body)
json['success'].should be_false json['success'].should == false
json['message'].should be_present json['message'].should be_present
end end
@ -355,7 +355,7 @@ describe UsersController do
post_user post_user
expect(JSON.parse(response.body)['active']).to be_false expect(JSON.parse(response.body)['active']).to be_falsey
end end
context "and 'must approve users' site setting is enabled" do context "and 'must approve users' site setting is enabled" do
@ -373,14 +373,12 @@ describe UsersController do
it 'indicates the user is not active in the response' do it 'indicates the user is not active in the response' do
post_user post_user
expect(JSON.parse(response.body)['active']).to be_false expect(JSON.parse(response.body)['active']).to be_falsey
end end
it "shows the 'waiting approval' message" do it "shows the 'waiting approval' message" do
post_user post_user
expect(JSON.parse(response.body)['message']).to eq( expect(JSON.parse(response.body)['message']).to eq(I18n.t 'login.wait_approval')
I18n.t 'login.wait_approval'
)
end end
end end
end end
@ -410,14 +408,14 @@ describe UsersController do
it 'indicates the user is active in the response' do it 'indicates the user is active in the response' do
User.any_instance.expects(:enqueue_welcome_message) User.any_instance.expects(:enqueue_welcome_message)
post_user post_user
expect(JSON.parse(response.body)['active']).to be_true expect(JSON.parse(response.body)['active']).to be_truthy
end end
it 'returns 500 status when new registrations are disabled' do it 'returns 500 status when new registrations are disabled' do
SiteSetting.stubs(:allow_new_registrations).returns(false) SiteSetting.stubs(:allow_new_registrations).returns(false)
post_user post_user
json = JSON.parse(response.body) json = JSON.parse(response.body)
json['success'].should be_false json['success'].should == false
json['message'].should be_present json['message'].should be_present
end end
@ -449,11 +447,11 @@ describe UsersController do
it 'has the proper JSON' do it 'has the proper JSON' do
json = JSON::parse(response.body) json = JSON::parse(response.body)
json["success"].should be_true json["success"].should == true
end end
it 'should not result in an active account' do it 'should not result in an active account' do
User.find_by(username: @user.username).active.should be_false User.find_by(username: @user.username).active.should == false
end end
end end
@ -472,7 +470,7 @@ describe UsersController do
it 'should say it was successful' do it 'should say it was successful' do
xhr :post, :create, create_params xhr :post, :create, create_params
json = JSON::parse(response.body) json = JSON::parse(response.body)
json["success"].should be_true json["success"].should == true
end end
end end
@ -513,7 +511,7 @@ describe UsersController do
it 'should report failed' do it 'should report failed' do
xhr :post, :create, create_params xhr :post, :create, create_params
json = JSON::parse(response.body) json = JSON::parse(response.body)
json["success"].should_not be_true json["success"].should_not == true
end end
end end
@ -593,7 +591,7 @@ describe UsersController do
end end
it 'should return available as false in the JSON' do it 'should return available as false in the JSON' do
::JSON.parse(response.body)['available'].should be_false ::JSON.parse(response.body)['available'].should == false
end end
it 'should return a suggested username' do it 'should return a suggested username' do
@ -607,7 +605,7 @@ describe UsersController do
end end
it 'should return available in the JSON' do it 'should return available in the JSON' do
::JSON.parse(response.body)['available'].should be_true ::JSON.parse(response.body)['available'].should == true
end end
end end
@ -637,7 +635,7 @@ describe UsersController do
end end
it 'should not return an available key' do it 'should not return an available key' do
::JSON.parse(response.body)['available'].should be_nil ::JSON.parse(response.body)['available'].should == nil
end end
it 'should return an error message' do it 'should return an error message' do

View File

@ -19,38 +19,38 @@ describe ApplicationHelper do
it "is true if mobile_view is '1' in the session" do it "is true if mobile_view is '1' in the session" do
session[:mobile_view] = '1' session[:mobile_view] = '1'
helper.mobile_view?.should be_true helper.mobile_view?.should == true
end end
it "is false if mobile_view is '0' in the session" do it "is false if mobile_view is '0' in the session" do
session[:mobile_view] = '0' session[:mobile_view] = '0'
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
context "mobile_view is not set" do context "mobile_view is not set" do
it "is false if user agent is not mobile" do it "is false if user agent is not mobile" do
controller.request.stubs(:user_agent).returns('Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36') controller.request.stubs(:user_agent).returns('Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36')
helper.mobile_view?.should be_false helper.mobile_view?.should be_falsey
end end
it "is true for iPhone" do it "is true for iPhone" do
controller.request.stubs(:user_agent).returns('Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5') controller.request.stubs(:user_agent).returns('Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5')
helper.mobile_view?.should be_true helper.mobile_view?.should == true
end end
it "is false for iPad" do it "is false for iPad" do
controller.request.stubs(:user_agent).returns("Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3") controller.request.stubs(:user_agent).returns("Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3")
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
it "is false for Nexus 10 tablet" do it "is false for Nexus 10 tablet" do
controller.request.stubs(:user_agent).returns("Mozilla/5.0 (Linux; Android 4.2.1; Nexus 10 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19") controller.request.stubs(:user_agent).returns("Mozilla/5.0 (Linux; Android 4.2.1; Nexus 10 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19")
helper.mobile_view?.should be_false helper.mobile_view?.should be_falsey
end end
it "is true for Nexus 7 tablet" do it "is true for Nexus 7 tablet" do
controller.request.stubs(:user_agent).returns("Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19") controller.request.stubs(:user_agent).returns("Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19")
helper.mobile_view?.should be_true helper.mobile_view?.should == true
end end
end end
end end
@ -62,23 +62,23 @@ describe ApplicationHelper do
it "is false if mobile_view is '1' in the session" do it "is false if mobile_view is '1' in the session" do
session[:mobile_view] = '1' session[:mobile_view] = '1'
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
it "is false if mobile_view is '0' in the session" do it "is false if mobile_view is '0' in the session" do
session[:mobile_view] = '0' session[:mobile_view] = '0'
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
context "mobile_view is not set" do context "mobile_view is not set" do
it "is false if user agent is not mobile" do it "is false if user agent is not mobile" do
controller.request.stubs(:user_agent).returns('Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36') controller.request.stubs(:user_agent).returns('Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36')
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
it "is false for iPhone" do it "is false for iPhone" do
controller.request.stubs(:user_agent).returns('Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5') controller.request.stubs(:user_agent).returns('Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5')
helper.mobile_view?.should be_false helper.mobile_view?.should == false
end end
end end
end end

View File

@ -39,7 +39,7 @@ describe SpamRulesEnforcer do
When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) } When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) }
Invariant { expect(Guardian.new(spammer).can_create_topic?(nil)).to be_false } Invariant { expect(Guardian.new(spammer).can_create_topic?(nil)).should == false }
Invariant { expect{PostCreator.create(spammer, {title: 'limited time offer for you', raw: 'better buy this stuff ok', archetype_id: 1})}.to raise_error(Discourse::InvalidAccess) } Invariant { expect{PostCreator.create(spammer, {title: 'limited time offer for you', raw: 'better buy this stuff ok', archetype_id: 1})}.to raise_error(Discourse::InvalidAccess) }
Invariant { expect{PostCreator.create(spammer, {topic_id: another_topic.id, raw: 'my reply is spam in your topic', archetype_id: 1})}.to raise_error(Discourse::InvalidAccess) } Invariant { expect{PostCreator.create(spammer, {topic_id: another_topic.id, raw: 'my reply is spam in your topic', archetype_id: 1})}.to raise_error(Discourse::InvalidAccess) }
@ -73,7 +73,7 @@ describe SpamRulesEnforcer do
Given { SiteSetting.stubs(:flags_required_to_hide_post).returns(2) } Given { SiteSetting.stubs(:flags_required_to_hide_post).returns(2) }
When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) } When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) }
Then { expect(spammer.reload).to be_blocked } Then { expect(spammer.reload).to be_blocked }
And { expect(Guardian.new(spammer).can_create_topic?(nil)).to be_false } And { expect(Guardian.new(spammer).can_create_topic?(nil)).should == false }
end end
end end
end end
@ -87,7 +87,7 @@ describe SpamRulesEnforcer do
When { PostAction.act(user1, spam_post, PostActionType.types[:spam]) } When { PostAction.act(user1, spam_post, PostActionType.types[:spam]) }
When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) } When { PostAction.act(user2, spam_post, PostActionType.types[:spam]) }
Then { expect(spam_post.reload).to_not be_hidden } Then { expect(spam_post.reload).to_not be_hidden }
And { expect(Guardian.new(spammer).can_create_topic?(nil)).to be_true } And { expect(Guardian.new(spammer).can_create_topic?(nil)).should == true }
And { expect{PostCreator.create(spammer, {title: 'limited time offer for you', raw: 'better buy this stuff ok', archetype_id: 1})}.to_not raise_error } And { expect{PostCreator.create(spammer, {title: 'limited time offer for you', raw: 'better buy this stuff ok', archetype_id: 1})}.to_not raise_error }
And { expect(spammer.reload.private_topics_count).to eq(private_messages_count) } And { expect(spammer.reload.private_topics_count).to eq(private_messages_count) }
end end

View File

@ -29,13 +29,13 @@ describe Topic do
context 'uncategorized' do context 'uncategorized' do
Given(:category) { nil } Given(:category) { nil }
Then { topic.auto_close_at.should be_nil } Then { topic.auto_close_at.should == nil }
And { scheduled_jobs_for(:close_topic).should be_empty } And { scheduled_jobs_for(:close_topic).should be_empty }
end end
context 'category without default auto-close' do context 'category without default auto-close' do
Given(:category) { Fabricate(:category, auto_close_hours: nil) } Given(:category) { Fabricate(:category, auto_close_hours: nil) }
Then { topic.auto_close_at.should be_nil } Then { topic.auto_close_at.should == nil }
And { scheduled_jobs_for(:close_topic).should be_empty } And { scheduled_jobs_for(:close_topic).should be_empty }
end end
@ -63,8 +63,8 @@ describe Topic do
context 'topic is closed manually' do context 'topic is closed manually' do
When { staff_topic.update_status('closed', true, admin) } When { staff_topic.update_status('closed', true, admin) }
Then { staff_topic.reload.auto_close_at.should be_nil } Then { staff_topic.reload.auto_close_at.should == nil }
And { staff_topic.auto_close_started_at.should be_nil } And { staff_topic.auto_close_started_at.should == nil }
end end
end end
@ -92,8 +92,8 @@ describe Topic do
Given(:admin) { Fabricate(:admin) } Given(:admin) { Fabricate(:admin) }
Given!(:auto_closed_topic) { Fabricate(:topic, user: admin, closed: true, auto_close_at: 1.day.ago, auto_close_user_id: admin.id, auto_close_started_at: 6.days.ago) } Given!(:auto_closed_topic) { Fabricate(:topic, user: admin, closed: true, auto_close_at: 1.day.ago, auto_close_user_id: admin.id, auto_close_started_at: 6.days.ago) }
When { auto_closed_topic.update_status('closed', false, admin) } When { auto_closed_topic.update_status('closed', false, admin) }
Then { auto_closed_topic.reload.auto_close_at.should be_nil } Then { auto_closed_topic.reload.auto_close_at.should == nil }
And { auto_closed_topic.auto_close_started_at.should be_nil } And { auto_closed_topic.auto_close_started_at.should == nil }
end end
end end
end end

View File

@ -24,7 +24,7 @@ describe Jobs::BulkInvite do
it 'reads csv file' do it 'reads csv file' do
bulk_invite.current_user = user bulk_invite.current_user = user
bulk_invite.read_csv_file(csv_file) bulk_invite.read_csv_file(csv_file)
Invite.where(email: "robin@outlook.com").exists?.should be_true Invite.where(email: "robin@outlook.com").exists?.should == true
end end
end end
@ -41,7 +41,7 @@ describe Jobs::BulkInvite do
bulk_invite.current_user = user bulk_invite.current_user = user
bulk_invite.send_invite(csv_info, 1) bulk_invite.send_invite(csv_info, 1)
Invite.where(email: email).exists?.should be_true Invite.where(email: email).exists?.should == true
end end
it 'creates an invite with group' do it 'creates an invite with group' do
@ -52,7 +52,7 @@ describe Jobs::BulkInvite do
bulk_invite.send_invite(csv_info, 1) bulk_invite.send_invite(csv_info, 1)
invite = Invite.where(email: email).first invite = Invite.where(email: email).first
invite.should be_present invite.should be_present
InvitedGroup.where(invite_id: invite.id, group_id: group.id).exists?.should be_true InvitedGroup.where(invite_id: invite.id, group_id: group.id).exists?.should == true
end end
it 'creates an invite with topic' do it 'creates an invite with topic' do
@ -63,7 +63,7 @@ describe Jobs::BulkInvite do
bulk_invite.send_invite(csv_info, 1) bulk_invite.send_invite(csv_info, 1)
invite = Invite.where(email: email).first invite = Invite.where(email: email).first
invite.should be_present invite.should be_present
TopicInvite.where(invite_id: invite.id, topic_id: topic.id).exists?.should be_true TopicInvite.where(invite_id: invite.id, topic_id: topic.id).exists?.should == true
end end
it 'creates an invite with group and topic' do it 'creates an invite with group and topic' do
@ -75,8 +75,8 @@ describe Jobs::BulkInvite do
bulk_invite.send_invite(csv_info, 1) bulk_invite.send_invite(csv_info, 1)
invite = Invite.where(email: email).first invite = Invite.where(email: email).first
invite.should be_present invite.should be_present
InvitedGroup.where(invite_id: invite.id, group_id: group.id).exists?.should be_true InvitedGroup.where(invite_id: invite.id, group_id: group.id).exists?.should == true
TopicInvite.where(invite_id: invite.id, topic_id: topic.id).exists?.should be_true TopicInvite.where(invite_id: invite.id, topic_id: topic.id).exists?.should == true
end end
end end

View File

@ -10,7 +10,7 @@ describe Jobs::EnqueueDigestEmails do
let!(:user_no_digests) { Fabricate(:active_user, email_digests: false, last_emailed_at: 8.days.ago, last_seen_at: 10.days.ago) } let!(:user_no_digests) { Fabricate(:active_user, email_digests: false, last_emailed_at: 8.days.ago, last_seen_at: 10.days.ago) }
it "doesn't return users with email disabled" do it "doesn't return users with email disabled" do
Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user_no_digests.id).should be_false Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user_no_digests.id).should == false
end end
end end
@ -36,7 +36,7 @@ describe Jobs::EnqueueDigestEmails do
let!(:user_emailed_recently) { Fabricate(:active_user, last_emailed_at: 6.days.ago) } let!(:user_emailed_recently) { Fabricate(:active_user, last_emailed_at: 6.days.ago) }
it "doesn't return users who have been emailed recently" do it "doesn't return users who have been emailed recently" do
Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user_emailed_recently.id).should be_false Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user_emailed_recently.id).should == false
end end
end end
@ -45,7 +45,7 @@ describe Jobs::EnqueueDigestEmails do
let!(:inactive_user) { Fabricate(:user, active: false) } let!(:inactive_user) { Fabricate(:user, active: false) }
it "doesn't return users who have been emailed recently" do it "doesn't return users who have been emailed recently" do
Jobs::EnqueueDigestEmails.new.target_user_ids.include?(inactive_user.id).should be_false Jobs::EnqueueDigestEmails.new.target_user_ids.include?(inactive_user.id).should == false
end end
end end
@ -55,12 +55,12 @@ describe Jobs::EnqueueDigestEmails do
it "doesn't return users who have been emailed recently" do it "doesn't return users who have been emailed recently" do
user = user_visited_this_week user = user_visited_this_week
Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user.id).should be_false Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user.id).should == false
end end
it "does return users who have been emailed recently but have email_always set" do it "does return users who have been emailed recently but have email_always set" do
user = user_visited_this_week_email_always user = user_visited_this_week_email_always
Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user.id).should be_true Jobs::EnqueueDigestEmails.new.target_user_ids.include?(user.id).should == true
end end
end end

View File

@ -22,22 +22,22 @@ describe Jobs::FeatureTopicUsers do
it "won't feature the OP" do it "won't feature the OP" do
Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id) Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id)
topic.reload.featured_user_ids.include?(topic.user_id).should be_false topic.reload.featured_user_ids.include?(topic.user_id).should == false
end end
it "features the second poster" do it "features the second poster" do
Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id) Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id)
topic.reload.featured_user_ids.include?(coding_horror.id).should be_true topic.reload.featured_user_ids.include?(coding_horror.id).should == true
end end
it "will not feature the second poster if we supply their post to be ignored" do it "will not feature the second poster if we supply their post to be ignored" do
Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id, except_post_id: second_post.id) Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id, except_post_id: second_post.id)
topic.reload.featured_user_ids.include?(coding_horror.id).should be_false topic.reload.featured_user_ids.include?(coding_horror.id).should == false
end end
it "won't feature the last poster" do it "won't feature the last poster" do
Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id) Jobs::FeatureTopicUsers.new.execute(topic_id: topic.id)
topic.reload.featured_user_ids.include?(evil_trout.id).should be_false topic.reload.featured_user_ids.include?(evil_trout.id).should == false
end end
end end

View File

@ -84,14 +84,14 @@ describe Jobs do
job_to_keep2 = stub_everything(klass: 'Sidekiq::Extensions::DelayedClass', args: [YAML.dump(['Jobs::DrinkBeer', :delayed_perform, [{beer_id: 44}]])]) job_to_keep2 = stub_everything(klass: 'Sidekiq::Extensions::DelayedClass', args: [YAML.dump(['Jobs::DrinkBeer', :delayed_perform, [{beer_id: 44}]])])
job_to_keep2.expects(:delete).never job_to_keep2.expects(:delete).never
Sidekiq::ScheduledSet.stubs(:new).returns( [job_to_keep1, job_to_delete, job_to_keep2] ) Sidekiq::ScheduledSet.stubs(:new).returns( [job_to_keep1, job_to_delete, job_to_keep2] )
Jobs.cancel_scheduled_job(:drink_beer, {beer_id: 42}).should be_true Jobs.cancel_scheduled_job(:drink_beer, {beer_id: 42}).should == true
end end
it 'returns false when no matching job is scheduled' do it 'returns false when no matching job is scheduled' do
job_to_keep = stub_everything(klass: 'Sidekiq::Extensions::DelayedClass', args: [YAML.dump(['Jobs::DrinkBeer', :delayed_perform, [{beer_id: 43}]])]) job_to_keep = stub_everything(klass: 'Sidekiq::Extensions::DelayedClass', args: [YAML.dump(['Jobs::DrinkBeer', :delayed_perform, [{beer_id: 43}]])])
job_to_keep.expects(:delete).never job_to_keep.expects(:delete).never
Sidekiq::ScheduledSet.stubs(:new).returns( [job_to_keep] ) Sidekiq::ScheduledSet.stubs(:new).returns( [job_to_keep] )
Jobs.cancel_scheduled_job(:drink_beer, {beer_id: 42}).should be_false Jobs.cancel_scheduled_job(:drink_beer, {beer_id: 42}).should == false
end end
end end

View File

@ -3,13 +3,16 @@ require "spec_helper"
describe TestMailer do describe TestMailer do
describe "send_test" do describe "send_test" do
subject { TestMailer.send_test('marcheline@adventuretime.ooo') }
its(:to) { should == ['marcheline@adventuretime.ooo'] } it "works" do
its(:subject) { should be_present } test_mailer = TestMailer.send_test('marcheline@adventuretime.ooo')
its(:body) { should be_present }
its(:from) { should == [SiteSetting.notification_email] } test_mailer.from.should == [SiteSetting.notification_email]
test_mailer.to.should == ['marcheline@adventuretime.ooo']
test_mailer.subject.should be_present
test_mailer.body.should be_present
end end
end
end end

View File

@ -7,17 +7,17 @@ describe AdminDashboardData do
it 'returns nil when running in production mode' do it 'returns nil when running in production mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('production')) Rails.stubs(env: ActiveSupport::StringInquirer.new('production'))
subject.should be_nil subject.should == nil
end end
it 'returns a string when running in development mode' do it 'returns a string when running in development mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('development')) Rails.stubs(env: ActiveSupport::StringInquirer.new('development'))
subject.should_not be_nil subject.should_not == nil
end end
it 'returns a string when running in test mode' do it 'returns a string when running in test mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('test')) Rails.stubs(env: ActiveSupport::StringInquirer.new('test'))
subject.should_not be_nil subject.should_not == nil
end end
end end
@ -26,17 +26,17 @@ describe AdminDashboardData do
it 'returns nil when host_names is set' do it 'returns nil when host_names is set' do
Discourse.stubs(:current_hostname).returns('something.com') Discourse.stubs(:current_hostname).returns('something.com')
subject.should be_nil subject.should == nil
end end
it 'returns a string when host_name is localhost' do it 'returns a string when host_name is localhost' do
Discourse.stubs(:current_hostname).returns('localhost') Discourse.stubs(:current_hostname).returns('localhost')
subject.should_not be_nil subject.should_not == nil
end end
it 'returns a string when host_name is production.localhost' do it 'returns a string when host_name is production.localhost' do
Discourse.stubs(:current_hostname).returns('production.localhost') Discourse.stubs(:current_hostname).returns('production.localhost')
subject.should_not be_nil subject.should_not == nil
end end
end end
@ -45,12 +45,12 @@ describe AdminDashboardData do
it 'returns nil when gc params are set' do it 'returns nil when gc params are set' do
ENV.stubs(:[]).with('RUBY_GC_MALLOC_LIMIT').returns(90000000) ENV.stubs(:[]).with('RUBY_GC_MALLOC_LIMIT').returns(90000000)
subject.should be_nil subject.should == nil
end end
it 'returns a string when gc params are not set' do it 'returns a string when gc params are not set' do
ENV.stubs(:[]).with('RUBY_GC_MALLOC_LIMIT').returns(nil) ENV.stubs(:[]).with('RUBY_GC_MALLOC_LIMIT').returns(nil)
subject.should_not be_nil subject.should_not == nil
end end
end end
@ -60,31 +60,31 @@ describe AdminDashboardData do
it 'returns nil when sidekiq processed a job recently' do it 'returns nil when sidekiq processed a job recently' do
Jobs.stubs(:last_job_performed_at).returns(1.minute.ago) Jobs.stubs(:last_job_performed_at).returns(1.minute.ago)
Jobs.stubs(:queued).returns(0) Jobs.stubs(:queued).returns(0)
subject.should be_nil subject.should == nil
end end
it 'returns nil when last job processed was a long time ago, but no jobs are queued' do it 'returns nil when last job processed was a long time ago, but no jobs are queued' do
Jobs.stubs(:last_job_performed_at).returns(7.days.ago) Jobs.stubs(:last_job_performed_at).returns(7.days.ago)
Jobs.stubs(:queued).returns(0) Jobs.stubs(:queued).returns(0)
subject.should be_nil subject.should == nil
end end
it 'returns nil when no jobs have ever been processed, but no jobs are queued' do it 'returns nil when no jobs have ever been processed, but no jobs are queued' do
Jobs.stubs(:last_job_performed_at).returns(nil) Jobs.stubs(:last_job_performed_at).returns(nil)
Jobs.stubs(:queued).returns(0) Jobs.stubs(:queued).returns(0)
subject.should be_nil subject.should == nil
end end
it 'returns a string when no jobs were processed recently and some jobs are queued' do it 'returns a string when no jobs were processed recently and some jobs are queued' do
Jobs.stubs(:last_job_performed_at).returns(20.minutes.ago) Jobs.stubs(:last_job_performed_at).returns(20.minutes.ago)
Jobs.stubs(:queued).returns(1) Jobs.stubs(:queued).returns(1)
subject.should_not be_nil subject.should_not == nil
end end
it 'returns a string when no jobs have ever been processed, and some jobs are queued' do it 'returns a string when no jobs have ever been processed, and some jobs are queued' do
Jobs.stubs(:last_job_performed_at).returns(nil) Jobs.stubs(:last_job_performed_at).returns(nil)
Jobs.stubs(:queued).returns(1) Jobs.stubs(:queued).returns(1)
subject.should_not be_nil subject.should_not == nil
end end
end end
@ -93,17 +93,17 @@ describe AdminDashboardData do
it 'returns nil when total ram is 1 GB' do it 'returns nil when total ram is 1 GB' do
MemInfo.any_instance.stubs(:mem_total).returns(1025272) MemInfo.any_instance.stubs(:mem_total).returns(1025272)
subject.should be_nil subject.should == nil
end end
it 'returns nil when total ram cannot be determined' do it 'returns nil when total ram cannot be determined' do
MemInfo.any_instance.stubs(:mem_total).returns(nil) MemInfo.any_instance.stubs(:mem_total).returns(nil)
subject.should be_nil subject.should == nil
end end
it 'returns a string when total ram is less than 1 GB' do it 'returns a string when total ram is less than 1 GB' do
MemInfo.any_instance.stubs(:mem_total).returns(512636) MemInfo.any_instance.stubs(:mem_total).returns(512636)
subject.should_not be_nil subject.should_not == nil
end end
end end
@ -125,7 +125,7 @@ describe AdminDashboardData do
it 'returns a string when in production env' do it 'returns a string when in production env' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('production')) Rails.stubs(env: ActiveSupport::StringInquirer.new('production'))
expect(subject).to_not be_nil expect(subject).not_to be_nil
end end
end end
end end
@ -140,12 +140,12 @@ describe AdminDashboardData do
end end
it 'returns a string when favicon_url is default' do it 'returns a string when favicon_url is default' do
expect(subject).to_not be_nil expect(subject).not_to be_nil
end end
it 'returns a string when favicon_url contains default filename' do it 'returns a string when favicon_url contains default filename' do
SiteSetting.stubs(:favicon_url).returns("/prefix#{SiteSetting.defaults[:favicon_url]}") SiteSetting.stubs(:favicon_url).returns("/prefix#{SiteSetting.defaults[:favicon_url]}")
expect(subject).to_not be_nil expect(subject).not_to be_nil
end end
it 'returns nil when favicon_url does not match default-favicon.png' do it 'returns nil when favicon_url does not match default-favicon.png' do
@ -161,12 +161,12 @@ describe AdminDashboardData do
end end
it 'returns a string when logo_url is default' do it 'returns a string when logo_url is default' do
expect(subject).to_not be_nil expect(subject).not_to be_nil
end end
it 'returns a string when logo_url contains default filename' do it 'returns a string when logo_url contains default filename' do
SiteSetting.stubs(:logo_url).returns("/prefix#{SiteSetting.defaults[:logo_url]}") SiteSetting.stubs(:logo_url).returns("/prefix#{SiteSetting.defaults[:logo_url]}")
expect(subject).to_not be_nil expect(subject).not_to be_nil
end end
it 'returns nil when logo_url does not match d-logo-sketch.png' do it 'returns nil when logo_url does not match d-logo-sketch.png' do
@ -184,7 +184,7 @@ describe AdminDashboardData do
context 'when disabled' do context 'when disabled' do
it 'returns nil' do it 'returns nil' do
SiteSetting.stubs(enable_setting).returns(false) SiteSetting.stubs(enable_setting).returns(false)
subject.should be_nil subject.should == nil
end end
end end
@ -196,25 +196,25 @@ describe AdminDashboardData do
it 'returns nil key and secret are set' do it 'returns nil key and secret are set' do
SiteSetting.stubs(key).returns('12313213') SiteSetting.stubs(key).returns('12313213')
SiteSetting.stubs(secret).returns('12312313123') SiteSetting.stubs(secret).returns('12312313123')
subject.should be_nil subject.should == nil
end end
it 'returns a string when key is not set' do it 'returns a string when key is not set' do
SiteSetting.stubs(key).returns('') SiteSetting.stubs(key).returns('')
SiteSetting.stubs(secret).returns('12312313123') SiteSetting.stubs(secret).returns('12312313123')
subject.should_not be_nil subject.should_not == nil
end end
it 'returns a string when secret is not set' do it 'returns a string when secret is not set' do
SiteSetting.stubs(key).returns('123123') SiteSetting.stubs(key).returns('123123')
SiteSetting.stubs(secret).returns('') SiteSetting.stubs(secret).returns('')
subject.should_not be_nil subject.should_not == nil
end end
it 'returns a string when key and secret are not set' do it 'returns a string when key and secret are not set' do
SiteSetting.stubs(key).returns('') SiteSetting.stubs(key).returns('')
SiteSetting.stubs(secret).returns('') SiteSetting.stubs(secret).returns('')
subject.should_not be_nil subject.should_not == nil
end end
end end
end end

View File

@ -4,7 +4,7 @@ require_dependency 'badge'
describe Badge do describe Badge do
it 'has a valid system attribute for new badges' do it 'has a valid system attribute for new badges' do
Badge.create!(name: "test", badge_type_id: 1).system?.should be_false Badge.create!(name: "test", badge_type_id: 1).system?.should == false
end end
end end

View File

@ -39,7 +39,7 @@ describe Category do
it "can determine read_restricted" do it "can determine read_restricted" do
read_restricted, resolved = Category.resolve_permissions(:everyone => :full) read_restricted, resolved = Category.resolve_permissions(:everyone => :full)
read_restricted.should be_false read_restricted.should == false
resolved.should == [] resolved.should == []
end end
end end
@ -102,13 +102,13 @@ describe Category do
let(:group) { Fabricate(:group) } let(:group) { Fabricate(:group) }
it "secures categories correctly" do it "secures categories correctly" do
category.read_restricted?.should be_false category.read_restricted?.should == false
category.set_permissions({}) category.set_permissions({})
category.read_restricted?.should be_true category.read_restricted?.should == true
category.set_permissions(:everyone => :full) category.set_permissions(:everyone => :full)
category.read_restricted?.should be_false category.read_restricted?.should == false
user.secure_categories.should be_empty user.secure_categories.should be_empty
@ -216,7 +216,7 @@ describe Category do
@topic.pinned_at.should be_present @topic.pinned_at.should be_present
Guardian.new(@category.user).can_delete?(@topic).should be_false Guardian.new(@category.user).can_delete?(@topic).should == false
@topic.posts.count.should == 1 @topic.posts.count.should == 1
@ -243,7 +243,7 @@ describe Category do
it "should not set its description topic to auto-close" do it "should not set its description topic to auto-close" do
category = Fabricate(:category, name: 'Closing Topics', auto_close_hours: 1) category = Fabricate(:category, name: 'Closing Topics', auto_close_hours: 1)
category.topic.auto_close_at.should be_nil category.topic.auto_close_at.should == nil
end end
describe "creating a new category with the same slug" do describe "creating a new category with the same slug" do
@ -286,8 +286,8 @@ describe Category do
end end
it 'is deleted correctly' do it 'is deleted correctly' do
Category.exists?(id: @category_id).should be_false Category.exists?(id: @category_id).should == false
Topic.exists?(id: @topic_id).should be_false Topic.exists?(id: @topic_id).should == false
end end
end end

View File

@ -43,7 +43,7 @@ describe ColorScheme do
context "hex_for_name without anything enabled" do context "hex_for_name without anything enabled" do
it "returns nil for a missing attribute" do it "returns nil for a missing attribute" do
described_class.hex_for_name('undefined').should be_nil described_class.hex_for_name('undefined').should == nil
end end
it "returns the base color for an attribute" do it "returns the base color for an attribute" do
@ -65,11 +65,11 @@ describe ColorScheme do
describe "#enabled" do describe "#enabled" do
it "returns nil when there is no enabled record" do it "returns nil when there is no enabled record" do
described_class.enabled.should be_nil described_class.enabled.should == nil
end end
it "returns the enabled color scheme" do it "returns the enabled color scheme" do
described_class.hex_for_name('$primary_background_color').should be_nil described_class.hex_for_name('$primary_background_color').should == nil
c = described_class.create(valid_params.merge(enabled: true)) c = described_class.create(valid_params.merge(enabled: true))
described_class.enabled.id.should == c.id described_class.enabled.id.should == c.id
described_class.hex_for_name('$primary_background_color').should == "FFBB00" described_class.hex_for_name('$primary_background_color').should == "FFBB00"

View File

@ -3,16 +3,16 @@ require 'spec_helper'
describe DigestEmailSiteSetting do describe DigestEmailSiteSetting do
describe 'valid_value?' do describe 'valid_value?' do
it 'returns true for a valid value as an int' do it 'returns true for a valid value as an int' do
DigestEmailSiteSetting.valid_value?(1).should be_true DigestEmailSiteSetting.valid_value?(1).should == true
end end
it 'returns true for a valid value as a string' do it 'returns true for a valid value as a string' do
DigestEmailSiteSetting.valid_value?('1').should be_true DigestEmailSiteSetting.valid_value?('1').should == true
end end
it 'returns false for an invalid value' do it 'returns false for an invalid value' do
DigestEmailSiteSetting.valid_value?(1.5).should be_false DigestEmailSiteSetting.valid_value?(1.5).should == false
DigestEmailSiteSetting.valid_value?('7 dogs').should be_false DigestEmailSiteSetting.valid_value?('7 dogs').should == false
end end
end end
end end

View File

@ -87,6 +87,6 @@ describe DiscourseSingleSignOn do
url.should == @sso_url url.should == @sso_url
sso = DiscourseSingleSignOn.parse(payload) sso = DiscourseSingleSignOn.parse(payload)
sso.nonce.should_not be_nil sso.nonce.should_not == nil
end end
end end

View File

@ -11,7 +11,7 @@ describe Draft do
it "uses the user id and key correctly" do it "uses the user id and key correctly" do
Draft.set(@user, "test", 0,"data") Draft.set(@user, "test", 0,"data")
Draft.get(Fabricate.build(:coding_horror), "test", 0).should be_nil Draft.get(Fabricate.build(:coding_horror), "test", 0).should == nil
end end
it "should overwrite draft data correctly" do it "should overwrite draft data correctly" do
@ -23,14 +23,14 @@ describe Draft do
it "should clear drafts on request" do it "should clear drafts on request" do
Draft.set(@user, "test", 0, "data") Draft.set(@user, "test", 0, "data")
Draft.clear(@user, "test", 0) Draft.clear(@user, "test", 0)
Draft.get(@user, "test", 0).should be_nil Draft.get(@user, "test", 0).should == nil
end end
it "should disregard old draft if sequence decreases" do it "should disregard old draft if sequence decreases" do
Draft.set(@user, "test", 0, "data") Draft.set(@user, "test", 0, "data")
Draft.set(@user, "test", 1, "hello") Draft.set(@user, "test", 1, "hello")
Draft.set(@user, "test", 0, "foo") Draft.set(@user, "test", 0, "foo")
Draft.get(@user, "test", 0).should be_nil Draft.get(@user, "test", 0).should == nil
Draft.get(@user, "test", 1).should == "hello" Draft.get(@user, "test", 1).should == "hello"
end end
@ -41,7 +41,7 @@ describe Draft do
Draft.set(u, Draft::NEW_TOPIC, 0, 'my draft') Draft.set(u, Draft::NEW_TOPIC, 0, 'my draft')
_t = Fabricate(:topic, user: u) _t = Fabricate(:topic, user: u)
s = DraftSequence.current(u, Draft::NEW_TOPIC) s = DraftSequence.current(u, Draft::NEW_TOPIC)
Draft.get(u, Draft::NEW_TOPIC, s).should be_nil Draft.get(u, Draft::NEW_TOPIC, s).should == nil
end end
it 'nukes new pm draft after a pm is created' do it 'nukes new pm draft after a pm is created' do
@ -49,7 +49,7 @@ describe Draft do
Draft.set(u, Draft::NEW_PRIVATE_MESSAGE, 0, 'my draft') Draft.set(u, Draft::NEW_PRIVATE_MESSAGE, 0, 'my draft')
t = Fabricate(:topic, user: u, archetype: Archetype.private_message, category_id: nil) t = Fabricate(:topic, user: u, archetype: Archetype.private_message, category_id: nil)
s = DraftSequence.current(t.user, Draft::NEW_PRIVATE_MESSAGE) s = DraftSequence.current(t.user, Draft::NEW_PRIVATE_MESSAGE)
Draft.get(u, Draft::NEW_PRIVATE_MESSAGE, s).should be_nil Draft.get(u, Draft::NEW_PRIVATE_MESSAGE, s).should == nil
end end
it 'does not nuke new topic draft after a pm is created' do it 'does not nuke new topic draft after a pm is created' do
@ -67,7 +67,7 @@ describe Draft do
Draft.set(p.user, p.topic.draft_key, 0,'hello') Draft.set(p.user, p.topic.draft_key, 0,'hello')
PostCreator.new(user, raw: Fabricate.build(:post).raw).create PostCreator.new(user, raw: Fabricate.build(:post).raw).create
Draft.get(p.user, p.topic.draft_key, DraftSequence.current(p.user, p.topic.draft_key)).should be_nil Draft.get(p.user, p.topic.draft_key, DraftSequence.current(p.user, p.topic.draft_key)).should == nil
end end
it 'nukes the post draft when a post is revised' do it 'nukes the post draft when a post is revised' do
@ -75,7 +75,7 @@ describe Draft do
Draft.set(p.user, p.topic.draft_key, 0,'hello') Draft.set(p.user, p.topic.draft_key, 0,'hello')
p.revise(p.user, 'another test') p.revise(p.user, 'another test')
s = DraftSequence.current(p.user, p.topic.draft_key) s = DraftSequence.current(p.user, p.topic.draft_key)
Draft.get(p.user, p.topic.draft_key, s).should be_nil Draft.get(p.user, p.topic.draft_key, s).should == nil
end end
it 'increases the sequence number when a post is revised' do it 'increases the sequence number when a post is revised' do

View File

@ -49,7 +49,7 @@ describe EmailLog do
context "when user's email does not exist email logs" do context "when user's email does not exist email logs" do
it "returns nil" do it "returns nil" do
expect(user.email_logs.last_sent_email_address).to be_nil expect(user.email_logs.last_sent_email_address).should == nil
end end
end end
end end

View File

@ -89,7 +89,7 @@ describe EmailToken do
context 'welcome message' do context 'welcome message' do
it 'sends a welcome message when the user is activated' do it 'sends a welcome message when the user is activated' do
user = EmailToken.confirm(email_token.token) user = EmailToken.confirm(email_token.token)
user.send_welcome_message.should be_true user.send_welcome_message.should == true
end end
context "when using the code a second time" do context "when using the code a second time" do
@ -98,7 +98,7 @@ describe EmailToken do
SiteSetting.email_token_grace_period_hours = 1 SiteSetting.email_token_grace_period_hours = 1
EmailToken.confirm(email_token.token) EmailToken.confirm(email_token.token)
user = EmailToken.confirm(email_token.token) user = EmailToken.confirm(email_token.token)
user.send_welcome_message.should be_false user.send_welcome_message.should == false
end end
end end

View File

@ -25,7 +25,7 @@ describe ErrorLog do
it "creates a non empty file on first call" do it "creates a non empty file on first call" do
ErrorLog.clear_all! ErrorLog.clear_all!
ErrorLog.add_row!(hello: "world") ErrorLog.add_row!(hello: "world")
File.exists?(ErrorLog.filename).should be_true File.exists?(ErrorLog.filename).should == true
end end
end end

View File

@ -15,17 +15,17 @@ describe Group do
it "is invalid for blank" do it "is invalid for blank" do
group.name = "" group.name = ""
group.valid?.should be_false group.valid?.should == false
end end
it "is valid for a longer name" do it "is valid for a longer name" do
group.name = "this_is_a_name" group.name = "this_is_a_name"
group.valid?.should be_true group.valid?.should == true
end end
it "is invalid for non names" do it "is invalid for non names" do
group.name = "this is_a_name" group.name = "this is_a_name"
group.valid?.should be_false group.valid?.should == false
end end
end end

View File

@ -16,7 +16,7 @@ describe Invite do
end end
it "should not allow a user to invite themselves" do it "should not allow a user to invite themselves" do
invite.email_already_exists.should be_true invite.email_already_exists.should == true
end end
end end
@ -26,7 +26,7 @@ describe Invite do
context 'saved' do context 'saved' do
subject { Fabricate(:invite) } subject { Fabricate(:invite) }
its(:invite_key) { should be_present } its(:invite_key) { should be_present }
its(:email_already_exists) { should be_false } its(:email_already_exists) { should == false }
it 'should store a lower case version of the email' do it 'should store a lower case version of the email' do
subject.email.should == iceking subject.email.should == iceking
@ -117,7 +117,7 @@ describe Invite do
invite.should be_blank invite.should be_blank
# gives the user permission to access the topic # gives the user permission to access the topic
topic.allowed_users.include?(coding_horror).should be_true topic.allowed_users.include?(coding_horror).should == true
end end
end end
@ -177,8 +177,8 @@ describe Invite do
let!(:user) { invite.redeem } let!(:user) { invite.redeem }
it 'works correctly' do it 'works correctly' do
user.is_a?(User).should be_true user.is_a?(User).should == true
user.send_welcome_message.should be_true user.send_welcome_message.should == true
user.trust_level.should == SiteSetting.default_invitee_trust_level user.trust_level.should == SiteSetting.default_invitee_trust_level
end end
@ -214,7 +214,7 @@ describe Invite do
it 'will not redeem twice' do it 'will not redeem twice' do
invite.redeem.should be_present invite.redeem.should be_present
invite.redeem.send_welcome_message.should be_false invite.redeem.send_welcome_message.should == false
end end
end end
end end
@ -233,8 +233,8 @@ describe Invite do
it 'adds the user to the topic_users' do it 'adds the user to the topic_users' do
user = invite.redeem user = invite.redeem
topic.reload topic.reload
topic.allowed_users.include?(user).should be_true topic.allowed_users.include?(user).should == true
Guardian.new(user).can_see?(topic).should be_true Guardian.new(user).can_see?(topic).should == true
end end
end end
@ -246,7 +246,7 @@ describe Invite do
it 'adds the user to the topic_users' do it 'adds the user to the topic_users' do
topic.reload topic.reload
topic.allowed_users.include?(user).should be_true topic.allowed_users.include?(user).should == true
end end
end end
@ -258,8 +258,8 @@ describe Invite do
let(:another_topic) { Fabricate(:topic, category_id: nil, archetype: "private_message", user: coding_horror) } let(:another_topic) { Fabricate(:topic, category_id: nil, archetype: "private_message", user: coding_horror) }
it 'adds the user to the topic_users of the first topic' do it 'adds the user to the topic_users of the first topic' do
topic.allowed_users.include?(user).should be_true topic.allowed_users.include?(user).should == true
another_topic.allowed_users.include?(user).should be_true another_topic.allowed_users.include?(user).should == true
another_invite.reload another_invite.reload
another_invite.should_not be_redeemed another_invite.should_not be_redeemed
end end

View File

@ -16,7 +16,7 @@ describe OptimizedImage do
it "returns nil" do it "returns nil" do
OptimizedImage.expects(:resize).returns(false) OptimizedImage.expects(:resize).returns(false)
OptimizedImage.create_for(upload, 100, 200).should be_nil OptimizedImage.create_for(upload, 100, 200).should == nil
end end
end end
@ -59,7 +59,7 @@ describe OptimizedImage do
it "returns nil" do it "returns nil" do
OptimizedImage.expects(:resize).returns(false) OptimizedImage.expects(:resize).returns(false)
OptimizedImage.create_for(upload, 100, 200).should be_nil OptimizedImage.create_for(upload, 100, 200).should == nil
end end
end end

View File

@ -29,7 +29,7 @@ describe Permalink do
it "returns nil when topic_id is set but topic is not found" do it "returns nil when topic_id is set but topic is not found" do
permalink.topic_id = 99999 permalink.topic_id = 99999
target_url.should be_nil target_url.should == nil
end end
it "returns a post url when post_id is set" do it "returns a post url when post_id is set" do
@ -39,7 +39,7 @@ describe Permalink do
it "returns nil when post_id is set but post is not found" do it "returns nil when post_id is set but post is not found" do
permalink.post_id = 99999 permalink.post_id = 99999
target_url.should be_nil target_url.should == nil
end end
it "returns a post url when post_id and topic_id are both set" do it "returns a post url when post_id and topic_id are both set" do
@ -55,7 +55,7 @@ describe Permalink do
it "returns nil when category_id is set but category is not found" do it "returns nil when category_id is set but category is not found" do
permalink.category_id = 99999 permalink.category_id = 99999
target_url.should be_nil target_url.should == nil
end end
it "returns a post url when topic_id, post_id, and category_id are all set for some reason" do it "returns a post url when topic_id, post_id, and category_id are all set for some reason" do
@ -66,7 +66,7 @@ describe Permalink do
end end
it "returns nil when nothing is set" do it "returns nil when nothing is set" do
target_url.should be_nil target_url.should == nil
end end
end end
end end

View File

@ -46,7 +46,7 @@ describe PostAction do
# reply to PM should not clear flag # reply to PM should not clear flag
PostCreator.new(mod, topic_id: posts[0].topic_id, raw: "This is my test reply to the user, it should clear flags").create PostCreator.new(mod, topic_id: posts[0].topic_id, raw: "This is my test reply to the user, it should clear flags").create
action.reload action.reload
action.deleted_at.should be_nil action.deleted_at.should == nil
# Acting on the flag should post an automated status message # Acting on the flag should post an automated status message
topic.posts.count.should == 2 topic.posts.count.should == 2
@ -113,19 +113,19 @@ describe PostAction do
post = create_post post = create_post
PostAction.act(codinghorror, post, PostActionType.types[:off_topic]) PostAction.act(codinghorror, post, PostActionType.types[:off_topic])
post.hidden.should be_false post.hidden.should == false
post.hidden_at.should be_blank post.hidden_at.should be_blank
PostAction.defer_flags!(post, admin) PostAction.defer_flags!(post, admin)
PostAction.flagged_posts_count.should == 0 PostAction.flagged_posts_count.should == 0
post.reload post.reload
post.hidden.should be_false post.hidden.should == false
post.hidden_at.should be_blank post.hidden_at.should be_blank
PostAction.hide_post!(post, PostActionType.types[:off_topic]) PostAction.hide_post!(post, PostActionType.types[:off_topic])
post.reload post.reload
post.hidden.should be_true post.hidden.should == true
post.hidden_at.should be_present post.hidden_at.should be_present
end end
@ -292,38 +292,38 @@ describe PostAction do
post.reload post.reload
post.hidden.should be_true post.hidden.should == true
post.hidden_at.should be_present post.hidden_at.should be_present
post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached] post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached]
post.topic.visible.should be_false post.topic.visible.should == false
post.revise(post.user, post.raw + " ha I edited it ") post.revise(post.user, post.raw + " ha I edited it ")
post.reload post.reload
post.hidden.should be_false post.hidden.should == false
post.hidden_reason_id.should be_nil post.hidden_reason_id.should == nil
post.hidden_at.should be_blank post.hidden_at.should be_blank
post.topic.visible.should be_true post.topic.visible.should == true
PostAction.act(eviltrout, post, PostActionType.types[:spam]) PostAction.act(eviltrout, post, PostActionType.types[:spam])
PostAction.act(walterwhite, post, PostActionType.types[:off_topic]) PostAction.act(walterwhite, post, PostActionType.types[:off_topic])
post.reload post.reload
post.hidden.should be_true post.hidden.should == true
post.hidden_at.should be_present post.hidden_at.should be_present
post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached_again] post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached_again]
post.topic.visible.should be_false post.topic.visible.should == false
post.revise(post.user, post.raw + " ha I edited it again ") post.revise(post.user, post.raw + " ha I edited it again ")
post.reload post.reload
post.hidden.should be_true post.hidden.should == true
post.hidden_at.should be_true post.hidden_at.should be_present
post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached_again] post.hidden_reason_id.should == Post.hidden_reasons[:flag_threshold_reached_again]
post.topic.visible.should be_false post.topic.visible.should == false
end end
it "can flag the topic instead of a post" do it "can flag the topic instead of a post" do

View File

@ -121,7 +121,7 @@ describe PostMover do
p2.post_number.should == 2 p2.post_number.should == 2
p2.topic_id.should == moved_to.id p2.topic_id.should == moved_to.id
p2.reply_count.should == 1 p2.reply_count.should == 1
p2.reply_to_post_number.should be_nil p2.reply_to_post_number.should == nil
p4.reload p4.reload
p4.post_number.should == 3 p4.post_number.should == 3
@ -207,7 +207,7 @@ describe PostMover do
p2.post_number.should == 3 p2.post_number.should == 3
p2.topic_id.should == moved_to.id p2.topic_id.should == moved_to.id
p2.reply_count.should == 1 p2.reply_count.should == 1
p2.reply_to_post_number.should be_nil p2.reply_to_post_number.should == nil
p4.reload p4.reload
p4.post_number.should == 4 p4.post_number.should == 4

View File

@ -66,8 +66,8 @@ describe PostRevision do
r = create_rev("wiki" => [false, true]) r = create_rev("wiki" => [false, true])
changes = r.wiki_changes changes = r.wiki_changes
changes[:previous_wiki].should be_false changes[:previous_wiki].should == false
changes[:current_wiki].should be_true changes[:current_wiki].should == true
end end
it "can find post_type changes" do it "can find post_type changes" do

View File

@ -468,7 +468,7 @@ describe Post do
it 'has no revision' do it 'has no revision' do
post.revisions.size.should == 0 post.revisions.size.should == 0
first_version_at.should be_present first_version_at.should be_present
post.revise(post.user, post.raw).should be_false post.revise(post.user, post.raw).should == false
end end
describe 'with the same body' do describe 'with the same body' do
@ -563,7 +563,7 @@ describe Post do
let!(:result) { post.revise(changed_by, 'updated body') } let!(:result) { post.revise(changed_by, 'updated body') }
it 'acts correctly' do it 'acts correctly' do
result.should be_true result.should == true
post.raw.should == 'updated body' post.raw.should == 'updated body'
post.invalidate_oneboxes.should == true post.invalidate_oneboxes.should == true
post.version.should == 2 post.version.should == 2
@ -594,7 +594,7 @@ describe Post do
let(:post) { Fabricate(:post, post_args) } let(:post) { Fabricate(:post, post_args) }
it "has correct info set" do it "has correct info set" do
post.user_deleted?.should be_false post.user_deleted?.should == false
post.post_number.should be_present post.post_number.should be_present
post.excerpt.should be_present post.excerpt.should be_present
post.post_type.should == Post.types[:regular] post.post_type.should == Post.types[:regular]
@ -671,8 +671,8 @@ describe Post do
it 'has the correct info set' do it 'has the correct info set' do
multi_reply.quote_count.should == 2 multi_reply.quote_count.should == 2
post.replies.include?(multi_reply).should be_true post.replies.include?(multi_reply).should == true
reply.replies.include?(multi_reply).should be_true reply.replies.include?(multi_reply).should == true
end end
end end
@ -763,14 +763,14 @@ describe Post do
SiteSetting.stubs(:tl3_links_no_follow).returns(false) SiteSetting.stubs(:tl3_links_no_follow).returns(false)
post.user.trust_level = 3 post.user.trust_level = 3
post.save post.save
(post.cooked =~ /nofollow/).should be_false post.cooked.should_not =~ /nofollow/
end end
it "when tl3_links_no_follow is true, should add nofollow for trust level 3 and higher" do it "when tl3_links_no_follow is true, should add nofollow for trust level 3 and higher" do
SiteSetting.stubs(:tl3_links_no_follow).returns(true) SiteSetting.stubs(:tl3_links_no_follow).returns(true)
post.user.trust_level = 3 post.user.trust_level = 3
post.save post.save
(post.cooked =~ /nofollow/).should be_true post.cooked.should =~ /nofollow/
end end
end end

View File

@ -7,7 +7,7 @@ describe QuotedPost do
raw: "[quote=\"#{post1.user.username}, post: 1, topic:#{post1.topic_id}\"]\ntest\n[/quote]\nthis is a test post", raw: "[quote=\"#{post1.user.username}, post: 1, topic:#{post1.topic_id}\"]\ntest\n[/quote]\nthis is a test post",
reply_to_post_number: 1) reply_to_post_number: 1)
QuotedPost.find_by(post_id: post2.id, quoted_post_id: post1.id).should_not be_nil QuotedPost.find_by(post_id: post2.id, quoted_post_id: post1.id).should_not == nil
post2.reply_quoted.should == true post2.reply_quoted.should == true
end end
@ -23,7 +23,7 @@ HTML
QuotedPost.extract_from(post2) QuotedPost.extract_from(post2)
QuotedPost.where(post_id: post2.id).count.should == 1 QuotedPost.where(post_id: post2.id).count.should == 1
QuotedPost.find_by(post_id: post2.id, quoted_post_id: post1.id).should_not be_nil QuotedPost.find_by(post_id: post2.id, quoted_post_id: post1.id).should_not == nil
post2.reply_quoted.should == false post2.reply_quoted.should == false
end end

View File

@ -13,7 +13,7 @@ describe ScreenedEmail do
it "last_match_at is null" do it "last_match_at is null" do
# If we manually load the table with some emails, we can see whether those emails # If we manually load the table with some emails, we can see whether those emails
# have ever been blocked by looking at last_match_at. # have ever been blocked by looking at last_match_at.
ScreenedEmail.create(email: email).last_match_at.should be_nil ScreenedEmail.create(email: email).last_match_at.should == nil
end end
it "downcases the email" do it "downcases the email" do
@ -56,24 +56,24 @@ describe ScreenedEmail do
subject { ScreenedEmail.should_block?(email) } subject { ScreenedEmail.should_block?(email) }
it "returns false if a record with the email doesn't exist" do it "returns false if a record with the email doesn't exist" do
subject.should be_false subject.should == false
end end
it "returns true when there is a record with the email" do it "returns true when there is a record with the email" do
ScreenedEmail.should_block?(email).should be_false ScreenedEmail.should_block?(email).should == false
ScreenedEmail.create(email: email).save ScreenedEmail.create(email: email).save
ScreenedEmail.should_block?(email).should be_true ScreenedEmail.should_block?(email).should == true
end end
it "returns true when there is a record with a similar email" do it "returns true when there is a record with a similar email" do
ScreenedEmail.should_block?(email).should be_false ScreenedEmail.should_block?(email).should == false
ScreenedEmail.create(email: similar_email).save ScreenedEmail.create(email: similar_email).save
ScreenedEmail.should_block?(email).should be_true ScreenedEmail.should_block?(email).should == true
end end
it "returns true when it's same email, but all caps" do it "returns true when it's same email, but all caps" do
ScreenedEmail.create(email: email).save ScreenedEmail.create(email: email).save
ScreenedEmail.should_block?(email.upcase).should be_true ScreenedEmail.should_block?(email.upcase).should == true
end end
shared_examples "when a ScreenedEmail record matches" do shared_examples "when a ScreenedEmail record matches" do
@ -87,13 +87,13 @@ describe ScreenedEmail do
context "action_type is :block" do context "action_type is :block" do
let!(:screened_email) { Fabricate(:screened_email, email: email, action_type: ScreenedEmail.actions[:block]) } let!(:screened_email) { Fabricate(:screened_email, email: email, action_type: ScreenedEmail.actions[:block]) }
it { should be_true } it { should == true }
include_examples "when a ScreenedEmail record matches" include_examples "when a ScreenedEmail record matches"
end end
context "action_type is :do_nothing" do context "action_type is :do_nothing" do
let!(:screened_email) { Fabricate(:screened_email, email: email, action_type: ScreenedEmail.actions[:do_nothing]) } let!(:screened_email) { Fabricate(:screened_email, email: email, action_type: ScreenedEmail.actions[:do_nothing]) }
it { should be_false } it { should == false }
include_examples "when a ScreenedEmail record matches" include_examples "when a ScreenedEmail record matches"
end end
end end

View File

@ -35,7 +35,7 @@ describe ScreenedIpAddress do
describe "ip_address_with_mask" do describe "ip_address_with_mask" do
it "returns nil when ip_address is nil" do it "returns nil when ip_address is nil" do
described_class.new.ip_address_with_mask.should be_nil described_class.new.ip_address_with_mask.should == nil
end end
it "returns ip_address without mask if there is no mask" do it "returns ip_address without mask if there is no mask" do

View File

@ -13,7 +13,7 @@ describe ScreenedUrl do
end end
it "last_match_at is null" do it "last_match_at is null" do
described_class.create(valid_params).last_match_at.should be_nil described_class.create(valid_params).last_match_at.should == nil
end end
it "normalizes the url and domain" do it "normalizes the url and domain" do
@ -88,7 +88,7 @@ describe ScreenedUrl do
describe 'find_match' do describe 'find_match' do
it 'returns nil when there is no match' do it 'returns nil when there is no match' do
described_class.find_match('http://spamspot.com/buy/it').should be_nil described_class.find_match('http://spamspot.com/buy/it').should == nil
end end
it 'returns the record when there is an exact match' do it 'returns the record when there is an exact match' do

View File

@ -31,7 +31,7 @@ describe SiteCustomization do
end end
it 'finds no style when none enabled' do it 'finds no style when none enabled' do
SiteCustomization.enabled_style_key.should be_nil SiteCustomization.enabled_style_key.should == nil
end end
@ -50,7 +50,7 @@ describe SiteCustomization do
# this bypasses the before / after stuff # this bypasses the before / after stuff
SiteCustomization.exec_sql('delete from site_customizations') SiteCustomization.exec_sql('delete from site_customizations')
SiteCustomization.enabled_style_key.should be_nil SiteCustomization.enabled_style_key.should == nil
end end
end end
@ -156,13 +156,13 @@ describe SiteCustomization do
it 'should compile scss' do it 'should compile scss' do
c = SiteCustomization.create!(user_id: user.id, name: "test", stylesheet: '$black: #000; #a { color: $black; }', header: '') c = SiteCustomization.create!(user_id: user.id, name: "test", stylesheet: '$black: #000; #a { color: $black; }', header: '')
s = c.stylesheet_baked.gsub(' ', '').gsub("\n", '') s = c.stylesheet_baked.gsub(' ', '').gsub("\n", '')
(s.include?("#a{color:#000;}") || s.include?("#a{color:black;}")).should be_true (s.include?("#a{color:#000;}") || s.include?("#a{color:black;}")).should == true
end end
it 'should compile mobile scss' do it 'should compile mobile scss' do
c = SiteCustomization.create!(user_id: user.id, name: "test", stylesheet: '', header: '', mobile_stylesheet: '$black: #000; #a { color: $black; }', mobile_header: '') c = SiteCustomization.create!(user_id: user.id, name: "test", stylesheet: '', header: '', mobile_stylesheet: '$black: #000; #a { color: $black; }', mobile_header: '')
s = c.mobile_stylesheet_baked.gsub(' ', '').gsub("\n", '') s = c.mobile_stylesheet_baked.gsub(' ', '').gsub("\n", '')
(s.include?("#a{color:#000;}") || s.include?("#a{color:black;}")).should be_true (s.include?("#a{color:#000;}") || s.include?("#a{color:black;}")).should == true
end end
it 'should allow including discourse styles' do it 'should allow including discourse styles' do

View File

@ -12,21 +12,21 @@ describe TopMenuItem do
it 'has a filter' do it 'has a filter' do
expect(items[0].filter).to eq('nope') expect(items[0].filter).to eq('nope')
expect(items[0].has_filter?).to be_true expect(items[0].has_filter?).to be_truthy
expect(items[2].filter).to eq('not') expect(items[2].filter).to eq('not')
expect(items[2].has_filter?).to be_true expect(items[2].has_filter?).to be_truthy
end end
it 'does not have a filter' do it 'does not have a filter' do
expect(items[1].filter).to be_nil expect(items[1].filter).to be_nil
expect(items[1].has_filter?).to be_false expect(items[1].has_filter?).to be_falsey
expect(items[3].filter).to be_nil expect(items[3].filter).to be_nil
expect(items[3].has_filter?).to be_false expect(items[3].has_filter?).to be_falsey
end end
it "has a specific category" do it "has a specific category" do
expect(items.first.has_specific_category?).to be_false expect(items.first.has_specific_category?).to be_falsey
expect(items.last.has_specific_category?).to be_true expect(items.last.has_specific_category?).to be_truthy
end end
it "does not have a specific category" do it "does not have a specific category" do

Some files were not shown because too many files have changed in this diff Show More