Skip to content

Commit

Permalink
Add to setting mailchimp subscription option
Browse files Browse the repository at this point in the history
  • Loading branch information
reabiliti committed Feb 23, 2019
1 parent a454c6a commit 860a844
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
2 changes: 2 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ def generate_vpn_credentials
end

def add_to_newsletter
return unless Settings.mailchimp.subscription == 'true'

AddUserToNewsletterWorker.perform_async(email, :all)
end
end
Expand Down
1 change: 1 addition & 0 deletions config/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ servers:
sample_config_path: 'config/sample.server.ovpn.erb'

mailchimp:
subscription: 'true'
api_key: <%= ENV['MAILCHIMP_API_KEY'] %>
all_clients_list_id: <%= ENV['MAILCHIMP_ALL_CLIENTS_LIST_ID'] %>

Expand Down
21 changes: 17 additions & 4 deletions spec/models/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,23 @@
end

describe 'newsletter subscription' do
it 'adds to newsletter' do
expect do
create(:user)
end.to change(AddUserToNewsletterWorker.jobs, :size).by(1)
let(:settings) { double('Settings.mailchimp') }
before { allow(Settings).to receive(:mailchimp).and_return(settings) }

context 'subscription set as true' do
before { expect(settings).to receive(:subscription).and_return('true') }

it 'adds to newsletter' do
expect { create(:user) }.to change(AddUserToNewsletterWorker.jobs, :size).by(1)
end
end

context 'subscription set as false' do
before { expect(settings).to receive(:subscription).and_return('false') }

it 'adds to newsletter' do
expect { create(:user) }.not_to change(AddUserToNewsletterWorker.jobs, :size)
end
end
end
end
Expand Down

0 comments on commit 860a844

Please sign in to comment.