Add trait to create users with proposal and debate
This commit is contained in:
@@ -51,6 +51,18 @@ FactoryBot.define do
|
||||
document_type { "1" }
|
||||
verified_at { Time.current }
|
||||
end
|
||||
|
||||
trait :with_proposal do
|
||||
after(:create) { |user| create(:proposal, author: user) }
|
||||
end
|
||||
|
||||
trait :with_debate do
|
||||
after(:create) { |user| create(:debate, author: user) }
|
||||
end
|
||||
|
||||
trait :with_comment do
|
||||
after(:create) { |user| create(:comment, author: user) }
|
||||
end
|
||||
end
|
||||
|
||||
factory :identity do
|
||||
|
||||
@@ -483,14 +483,10 @@ describe "Emails" do
|
||||
context "Newsletter" do
|
||||
|
||||
scenario "Send newsletter email to selected users" do
|
||||
user_with_newsletter_in_segment_1 = create(:user, newsletter: true)
|
||||
user_with_newsletter_in_segment_2 = create(:user, newsletter: true)
|
||||
user_with_newsletter_in_segment_1 = create(:user, :with_proposal, newsletter: true)
|
||||
user_with_newsletter_in_segment_2 = create(:user, :with_proposal, newsletter: true)
|
||||
user_with_newsletter_not_in_segment = create(:user, newsletter: true)
|
||||
user_without_newsletter_in_segment = create(:user, newsletter: false)
|
||||
|
||||
create(:proposal, author: user_with_newsletter_in_segment_1)
|
||||
create(:proposal, author: user_with_newsletter_in_segment_2)
|
||||
create(:proposal, author: user_without_newsletter_in_segment)
|
||||
user_without_newsletter_in_segment = create(:user, :with_proposal, newsletter: false)
|
||||
|
||||
admin = create(:administrator)
|
||||
login_as(admin.user)
|
||||
|
||||
@@ -3,8 +3,7 @@ require "rails_helper"
|
||||
describe "Proposal Notifications" do
|
||||
|
||||
scenario "Send a notification" do
|
||||
author = create(:user)
|
||||
create(:proposal, author: author)
|
||||
author = create(:user, :with_proposal)
|
||||
|
||||
login_as(author)
|
||||
visit root_path
|
||||
|
||||
@@ -156,11 +156,8 @@ describe "Consul Schema" do
|
||||
end
|
||||
|
||||
it "does not link author if public activity is set to false" do
|
||||
visible_author = create(:user, public_activity: true)
|
||||
hidden_author = create(:user, public_activity: false)
|
||||
|
||||
visible_proposal = create(:proposal, author: visible_author)
|
||||
hidden_proposal = create(:proposal, author: hidden_author)
|
||||
visible_author = create(:user, :with_proposal, public_activity: true)
|
||||
hidden_author = create(:user, :with_proposal, public_activity: false)
|
||||
|
||||
response = execute("{ proposals { edges { node { public_author { username } } } } }")
|
||||
received_authors = extract_fields(response, "proposals", "public_author.username")
|
||||
@@ -228,11 +225,8 @@ describe "Consul Schema" do
|
||||
end
|
||||
|
||||
it "does not link author if public activity is set to false" do
|
||||
visible_author = create(:user, public_activity: true)
|
||||
hidden_author = create(:user, public_activity: false)
|
||||
|
||||
visible_debate = create(:debate, author: visible_author)
|
||||
hidden_debate = create(:debate, author: hidden_author)
|
||||
visible_author = create(:user, :with_debate, public_activity: true)
|
||||
hidden_author = create(:user, :with_debate, public_activity: false)
|
||||
|
||||
response = execute("{ debates { edges { node { public_author { username } } } } }")
|
||||
received_authors = extract_fields(response, "debates", "public_author.username")
|
||||
@@ -291,11 +285,8 @@ describe "Consul Schema" do
|
||||
end
|
||||
|
||||
it "does not link author if public activity is set to false" do
|
||||
visible_author = create(:user, public_activity: true)
|
||||
hidden_author = create(:user, public_activity: false)
|
||||
|
||||
visible_comment = create(:comment, author: visible_author)
|
||||
hidden_comment = create(:comment, author: hidden_author)
|
||||
visible_author = create(:user, :with_comment, public_activity: true)
|
||||
hidden_author = create(:user, :with_comment, public_activity: false)
|
||||
|
||||
response = execute("{ comments { edges { node { public_author { username } } } } }")
|
||||
received_authors = extract_fields(response, "comments", "public_author.username")
|
||||
|
||||
@@ -131,11 +131,8 @@ describe Newsletter do
|
||||
valid_email = "john@gmail.com"
|
||||
invalid_email = "john@gmail..com"
|
||||
|
||||
valid_email_user = create(:user, email: valid_email)
|
||||
proposal = create(:proposal, author: valid_email_user)
|
||||
|
||||
invalid_email_user = create(:user, email: invalid_email)
|
||||
proposal = create(:proposal, author: invalid_email_user)
|
||||
valid_email_user = create(:user, :with_proposal, email: valid_email)
|
||||
invalid_email_user = create(:user, :with_proposal, email: invalid_email)
|
||||
|
||||
newsletter.deliver
|
||||
|
||||
|
||||
Reference in New Issue
Block a user