diff --git a/spec/factories/users.rb b/spec/factories/users.rb index 8d04f5f7..fdd60d67 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -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| diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 7d700853..5df95d61 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -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