Properly stub MailBluster calls in FactoryBot user creation

This commit is contained in:
CactusPuppy 2021-03-19 16:50:27 -07:00
parent f98f35ec8d
commit 5ff93061d9
No known key found for this signature in database
GPG key ID: 4B33B0A3E15E2C82
2 changed files with 21 additions and 18 deletions

View file

@ -80,22 +80,24 @@ FactoryBot.define do
last_sign_in_at { Date.today } last_sign_in_at { Date.today }
is_disabled { false } is_disabled { false }
url_mailbluster = 'https://api.mailbluster.com/api/leads/' after(:build) do |user|
response_body = "{ url_mailbluster = 'https://api.mailbluster.com/api/leads/'
\"message\": \"Lead created\", response_body = "{
\"lead\": { \"message\": \"Lead created\",
\"id\": 329395, \"lead\": {
\"firstName\": \"#{name}\", \"id\": 329395,
\"lastName\": \"\", \"firstName\": \"#{user.name}\",
\"fullName\": \"#{name}\", \"lastName\": \"\",
\"email\": \"#{email}\", \"fullName\": \"#{user.name}\",
\"subscribed\": true, \"email\": \"#{user.email}\",
\"tags\": [ \"subscribed\": true,
#{ENV['OSEM_NAME'] || 'snapcon'} \"tags\": [
], #{ENV['OSEM_NAME'] || 'snapcon'}
} ],
}" }
WebMock.stub_request(:post, url_mailbluster) }"
WebMock.stub_request(:post, url_mailbluster)
end
# Called by every user creation # Called by every user creation
after(:create) do |user| after(:create) do |user|

View file

@ -533,7 +533,8 @@ describe User do
describe 'mailbluster' do describe 'mailbluster' do
it 'creates a Mailbluster lead on creating a user' do it 'creates a Mailbluster lead on creating a user' do
user_mailbluster = User.new(name: 'John Doe', email: 'snap@qwertyuiop.org') user_mailbluster = build(:user)
url = 'https://api.mailbluster.com/api/leads/'
response_body = "{ response_body = "{
\"message\": \"Lead created\", \"message\": \"Lead created\",
@ -549,7 +550,7 @@ describe User do
], ],
} }
}" }"
stub_request(:post, url_mailbluster) stub_request(:post, url)
.to_return(body: response_body, status: 200) .to_return(body: response_body, status: 200)
# Do not request before save # Do not request before save