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 }
is_disabled { false }
url_mailbluster = 'https://api.mailbluster.com/api/leads/'
response_body = "{
\"message\": \"Lead created\",
\"lead\": {
\"id\": 329395,
\"firstName\": \"#{name}\",
\"lastName\": \"\",
\"fullName\": \"#{name}\",
\"email\": \"#{email}\",
\"subscribed\": true,
\"tags\": [
#{ENV['OSEM_NAME'] || 'snapcon'}
],
}
}"
WebMock.stub_request(:post, url_mailbluster)
after(:build) do |user|
url_mailbluster = 'https://api.mailbluster.com/api/leads/'
response_body = "{
\"message\": \"Lead created\",
\"lead\": {
\"id\": 329395,
\"firstName\": \"#{user.name}\",
\"lastName\": \"\",
\"fullName\": \"#{user.name}\",
\"email\": \"#{user.email}\",
\"subscribed\": true,
\"tags\": [
#{ENV['OSEM_NAME'] || 'snapcon'}
],
}
}"
WebMock.stub_request(:post, url_mailbluster)
end
# Called by every user creation
after(:create) do |user|

View file

@ -533,7 +533,8 @@ describe User do
describe 'mailbluster' 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 = "{
\"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)
# Do not request before save