From 1f3832c883a602f55a080e0f44c2ab8117d7cc59 Mon Sep 17 00:00:00 2001 From: Ziyi Date: Tue, 16 Mar 2021 14:28:39 -0700 Subject: [PATCH] Put user.variables in Mailbluster create test --- app/helpers/external/mailbluster_helper.rb | 12 +++++-- .../external/mailbluster_helper_spec.rb | 32 ++++++++++--------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/app/helpers/external/mailbluster_helper.rb b/app/helpers/external/mailbluster_helper.rb index 11501c43..57527267 100644 --- a/app/helpers/external/mailbluster_helper.rb +++ b/app/helpers/external/mailbluster_helper.rb @@ -2,6 +2,10 @@ module External module MailblusterHelper + def query_api() + + end + def create_lead(user) # TODO begin @@ -16,14 +20,18 @@ module External 'subscribed' => true, 'tags' => ["snapcon"], }.to_json - puts request.body.to_json response = http.request(request) - puts response.body.to_json + # puts request.body.to_json + # puts response.body.to_json return response.to_json rescue => e puts "ERROR #{e}" return nil end end + + def delete_lead(user) + + end end end diff --git a/spec/helpers/external/mailbluster_helper_spec.rb b/spec/helpers/external/mailbluster_helper_spec.rb index 57a99977..c015033c 100644 --- a/spec/helpers/external/mailbluster_helper_spec.rb +++ b/spec/helpers/external/mailbluster_helper_spec.rb @@ -8,22 +8,23 @@ describe External::MailblusterHelper, type: :helper do describe 'create_lead' do it 'makes a post request to Mailbluster\'s API' do + response_body = "{ + \"message\": \"Lead created\", + \"lead\": { + \"id\": 329395, + \"firstName\": \"#{user.name}\", + \"lastName\": \"\", + \"fullName\": \"#{user.name}\", + \"email\": \"#{user.email}\", + \"subscribed\": true, + \"tags\": [ + \"snapcon\" + ], + } + }" stub_request(:post, "http://api.mailbluster.com/api/leads") - .to_return(body: `{ - "message": "Lead created", - "lead": { - "id": 329395, - "firstName": "#{user.name}", - "lastName": "", - "fullName": "#{user.name}", - "email": "#{user.email}", - "subscribed": true, - "tags": [ - "snapcon" - ], - } - }`, status: 200) - create_lead(user) + .to_return(body: response_body, status: 200) + response = create_lead(user) expect(WebMock).to have_requested(:post, "api.mailbluster.com/api/leads").with(body: { 'email': user.email, 'firstName': user.name, @@ -31,6 +32,7 @@ describe External::MailblusterHelper, type: :helper do 'subscribed': true, 'tags': ["snapcon"], }.to_json) + expect(response).to eq(response_body) end end end