Merge pull request #5758 from consuldemocracy/comment_author_class_tests
Remove instance_double usage in CommentsHelper tests
This commit is contained in:
@@ -12,25 +12,26 @@ require "rails_helper"
|
||||
# end
|
||||
RSpec.describe CommentsHelper do
|
||||
describe "#user_level_class" do
|
||||
def comment_double(as_administrator: false, as_moderator: false, official: false)
|
||||
user = instance_double(User, official?: official, official_level: "Y")
|
||||
instance_double(Comment, as_administrator?: as_administrator, as_moderator?: as_moderator, user: user)
|
||||
def comment_double(**attributes)
|
||||
defaults = { as_administrator?: false, as_moderator?: false, user: double(official?: false) }
|
||||
|
||||
double(defaults.merge(attributes))
|
||||
end
|
||||
|
||||
it "returns is-admin for comment done as administrator" do
|
||||
comment = comment_double(as_administrator: true)
|
||||
comment = comment_double(as_administrator?: true)
|
||||
|
||||
expect(helper.user_level_class(comment)).to eq("is-admin")
|
||||
end
|
||||
|
||||
it "returns is-moderator for comment done as moderator" do
|
||||
comment = comment_double(as_moderator: true)
|
||||
comment = comment_double(as_moderator?: true)
|
||||
|
||||
expect(helper.user_level_class(comment)).to eq("is-moderator")
|
||||
end
|
||||
|
||||
it "returns level followed by official level if user is official" do
|
||||
comment = comment_double(official: true)
|
||||
comment = comment_double(user: double(official?: true, official_level: "Y"))
|
||||
|
||||
expect(helper.user_level_class(comment)).to eq("level-Y")
|
||||
end
|
||||
@@ -45,14 +46,14 @@ RSpec.describe CommentsHelper do
|
||||
describe "#comment_author_class" do
|
||||
it "returns is-author if author is the commenting user" do
|
||||
author_id = 42
|
||||
comment = instance_double(Comment, user_id: author_id)
|
||||
comment = double(user_id: author_id)
|
||||
|
||||
expect(helper.comment_author_class(comment, author_id)).to eq("is-author")
|
||||
end
|
||||
|
||||
it "returns an empty string if commenter is not the author" do
|
||||
author_id = 42
|
||||
comment = instance_double(Comment, user_id: author_id - 1)
|
||||
comment = double(user_id: author_id - 1)
|
||||
|
||||
expect(helper.comment_author_class(comment, author_id)).to eq("")
|
||||
end
|
||||
|
||||
@@ -75,49 +75,43 @@ describe Verification::Management::Document do
|
||||
end
|
||||
|
||||
describe "Allowed Age" do
|
||||
let(:min_age) { User.minimum_required_age }
|
||||
let(:over_minium_age_date_of_birth) { Date.new((min_age + 10).years.ago.year, 12, 31) }
|
||||
let(:under_minium_age_date_of_birth) { Date.new(min_age.years.ago.year, 12, 31) }
|
||||
let(:just_minium_age_date_of_birth) do
|
||||
let(:min_age) { User.minimum_required_age }
|
||||
let(:over_minimum_age_date_of_birth) { Date.new((min_age + 10).years.ago.year, 12, 31) }
|
||||
let(:under_minimum_age_date_of_birth) { Date.new(min_age.years.ago.year, 12, 31) }
|
||||
let(:just_minimum_age_date_of_birth) do
|
||||
Date.new(min_age.years.ago.year, min_age.years.ago.month, min_age.years.ago.day)
|
||||
end
|
||||
|
||||
describe "#valid_age?" do
|
||||
it "returns false when the user is younger than the user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: under_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: under_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.valid_age?(census_response)).to be false
|
||||
end
|
||||
|
||||
it "returns true when the user has the user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: just_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: just_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.valid_age?(census_response)).to be true
|
||||
end
|
||||
|
||||
it "returns true when the user is older than the user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: over_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: over_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.valid_age?(census_response)).to be true
|
||||
end
|
||||
end
|
||||
|
||||
describe "#under_age?" do
|
||||
it "returns true when the user is younger than the user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: under_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: under_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.under_age?(census_response)).to be true
|
||||
end
|
||||
|
||||
it "returns false when the user is user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: just_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: just_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.under_age?(census_response)).to be false
|
||||
end
|
||||
|
||||
it "returns false when the user is older than user's minimum required age" do
|
||||
census_response = instance_double(CensusApi::Response,
|
||||
date_of_birth: over_minium_age_date_of_birth)
|
||||
census_response = double(date_of_birth: over_minimum_age_date_of_birth)
|
||||
expect(Verification::Management::Document.new.under_age?(census_response)).to be false
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user