action_kit_rest 0.4.2 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +24 -0
  3. data/.rubocop.yml +26 -0
  4. data/.ruby-version +1 -1
  5. data/Gemfile +11 -9
  6. data/README.md +2 -2
  7. data/Rakefile +15 -18
  8. data/action_kit_rest.gemspec +24 -20
  9. data/lib/action_kit_rest/action.rb +3 -1
  10. data/lib/action_kit_rest/actions/event_create_action.rb +5 -3
  11. data/lib/action_kit_rest/actions/event_signup_action.rb +6 -3
  12. data/lib/action_kit_rest/actions/unsubscribe_action.rb +3 -1
  13. data/lib/action_kit_rest/allowed_user_field.rb +3 -1
  14. data/lib/action_kit_rest/api.rb +9 -7
  15. data/lib/action_kit_rest/base.rb +5 -4
  16. data/lib/action_kit_rest/client.rb +5 -3
  17. data/lib/action_kit_rest/event.rb +3 -1
  18. data/lib/action_kit_rest/event_signup.rb +3 -1
  19. data/lib/action_kit_rest/language.rb +3 -1
  20. data/lib/action_kit_rest/list.rb +3 -1
  21. data/lib/action_kit_rest/page.rb +4 -2
  22. data/lib/action_kit_rest/pages/base.rb +4 -5
  23. data/lib/action_kit_rest/pages/donation_page.rb +3 -1
  24. data/lib/action_kit_rest/pages/event_campaign_page.rb +4 -2
  25. data/lib/action_kit_rest/pages/import_page.rb +3 -1
  26. data/lib/action_kit_rest/pages/signup_page.rb +3 -1
  27. data/lib/action_kit_rest/pages/unsubscribe_page.rb +3 -1
  28. data/lib/action_kit_rest/phone.rb +2 -0
  29. data/lib/action_kit_rest/railties.rb +3 -1
  30. data/lib/action_kit_rest/response/collection.rb +4 -4
  31. data/lib/action_kit_rest/response/raise_error.rb +15 -12
  32. data/lib/action_kit_rest/response/validation_error.rb +8 -1
  33. data/lib/action_kit_rest/response/wrapper.rb +10 -10
  34. data/lib/action_kit_rest/tag.rb +6 -6
  35. data/lib/action_kit_rest/user.rb +3 -1
  36. data/lib/action_kit_rest/version.rb +3 -1
  37. data/lib/action_kit_rest.rb +2 -0
  38. data/spec/lib/action_kit_rest/actions/event_create_action_spec.rb +6 -4
  39. data/spec/lib/action_kit_rest/actions/event_signup_action_spec.rb +6 -4
  40. data/spec/lib/action_kit_rest/allowed_user_field_spec.rb +9 -7
  41. data/spec/lib/action_kit_rest/logger_spec.rb +7 -5
  42. data/spec/lib/action_kit_rest/page_spec.rb +28 -28
  43. data/spec/lib/action_kit_rest/pages/event_campaign_page_spec.rb +25 -20
  44. data/spec/lib/action_kit_rest/pages/import_page_spec.rb +21 -17
  45. data/spec/lib/action_kit_rest/response/collection_spec.rb +13 -11
  46. data/spec/lib/action_kit_rest/response/validation_error_spec.rb +39 -0
  47. data/spec/lib/action_kit_rest/response/wrapper_spec.rb +6 -4
  48. data/spec/lib/action_kit_rest/user_spec.rb +11 -9
  49. data/spec/spec_helper.rb +6 -4
  50. data/spec/support/shared_contexts/stub_logger.rb +4 -2
  51. metadata +61 -57
  52. data/.travis.yml +0 -3
@@ -1,43 +1,46 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  module Response
3
5
  class RaiseError < Faraday::Response::Middleware
4
-
5
6
  def on_complete(response)
6
7
  status_code = response[:status].to_i
7
8
  if (400...600).include? status_code
8
9
  if status_code == 400
9
10
  response_body = response[:body]
10
- if JSON.parse(response_body)['errors'] == {'mailing_id' => ['Unable to associate this mailing ID with account.']}
11
+ if JSON.parse(response_body)['errors'] == { 'mailing_id' => ['Unable to associate this mailing ID with account.'] }
11
12
  raise ActionKitRest::Response::InvalidAkidError.new(url: response[:url].to_s, body: response_body)
12
13
  else
13
14
  raise ActionKitRest::Response::ValidationError.new(url: response[:url].to_s, body: response_body)
14
15
  end
15
16
  elsif status_code == 404
16
- raise ActionKitRest::Response::NotFound.new(response[:url].to_s)
17
+ raise ActionKitRest::Response::NotFound, response[:url].to_s
17
18
  elsif status_code == 401
18
- raise ActionKitRest::Response::Unauthorized.new(response[:url].to_s)
19
- elsif status_code == 500 && response[:body] =~ /\"error\"/
19
+ raise ActionKitRest::Response::Unauthorized, response[:url].to_s
20
+ elsif status_code == 500 && response[:body] =~ /"error"/
20
21
  error_hsh = JSON.parse(response[:body])
21
22
  error_message = error_hsh['error']
22
23
 
23
24
  if error_message == 'Sorry, this request could not be processed. Please try again later.'
24
- raise ActionKitRest::Response::TryAgainLater.new(error_message(response))
25
+ raise ActionKitRest::Response::TryAgainLater, error_message(response)
25
26
  else
26
- raise StandardError.new(error_message(response))
27
+ raise StandardError, error_message(response)
27
28
  end
28
29
  else
29
- raise StandardError.new(error_message(response))
30
+ raise StandardError, error_message(response)
30
31
  end
31
32
  end
32
33
  end
33
34
 
34
35
  def error_message(response)
35
- "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:status]} \n\n #{response[:body] if response[:body]}"
36
+ "#{response[:method].to_s.upcase} #{response[:url]}: #{response[:status]} \n\n #{response[:body]}"
36
37
  end
37
38
  end
38
39
 
39
- class TryAgainLater < StandardError ; end
40
- class NotFound < StandardError ; end
41
- class Unauthorized < StandardError ; end
40
+ class TryAgainLater < StandardError; end
41
+
42
+ class NotFound < StandardError; end
43
+
44
+ class Unauthorized < StandardError; end
42
45
  end
43
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  module Response
3
5
  class ValidationError < StandardError
@@ -11,7 +13,12 @@ module ActionKitRest
11
13
  end
12
14
 
13
15
  def to_s
14
- "#{super()} \n url: #{url} \n body: #{body} \n errors: #{errors}"
16
+ "#{super()} \n url: #{url} \n body: #{body.force_encoding('UTF-8')} \n errors: #{errors}"
17
+ rescue Encoding::CompatibilityError
18
+ # Something went gravely wrong trying to construct the error message, so give up on the extra info
19
+ # and just raise the name of the exception.
20
+ # This will let us at least raise with a backtrace.
21
+ super
15
22
  end
16
23
  end
17
24
 
@@ -1,17 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  module Response
3
5
  class Wrapper
4
6
  include Enumerable
5
7
  extend Forwardable
6
8
 
7
- attr_reader :response
8
- attr_reader :kind
9
- attr_reader :obj
9
+ attr_reader :response, :kind, :obj
10
10
 
11
11
  def_delegators :body, :empty?, :size, :include?, :length, :to_a, :first, :flatten, :include?, :keys, :[]
12
12
 
13
13
  def initialize(response)
14
- @response = response
14
+ @response = response
15
15
 
16
16
  if response.body.respond_to?(:meta) && response.body.meta
17
17
  @kind = :collection
@@ -42,7 +42,7 @@ module ActionKitRest
42
42
 
43
43
  # Response raw body
44
44
  def body
45
- @body ? @body : response.body
45
+ @body || response.body
46
46
  end
47
47
 
48
48
  # Response status
@@ -70,10 +70,10 @@ module ActionKitRest
70
70
  # Convert any key to string before calling.
71
71
  #
72
72
  def [](key)
73
- if self.body.is_a?(Array)
74
- self.body[key]
73
+ if body.is_a?(Array)
74
+ body[key]
75
75
  else
76
- self.body.send(:"#{key}")
76
+ body.send(:"#{key}")
77
77
  end
78
78
  end
79
79
 
@@ -112,9 +112,9 @@ module ActionKitRest
112
112
  block.call(o)
113
113
  end
114
114
  else
115
- raise("can only iterate over collections")
115
+ raise('can only iterate over collections')
116
116
  end
117
117
  end
118
118
  end
119
119
  end
120
- end
120
+ end
@@ -1,20 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  class Tag < Base
3
5
  def base_path
4
6
  'tag'
5
7
  end
6
-
8
+
7
9
  def find(name)
8
10
  response = list(name: name)
9
11
  response.obj.first
10
12
  end
11
-
13
+
12
14
  def find_or_create(name)
13
15
  tag = find(name)
14
- if tag.blank?
15
- tag = create(name: name)
16
- end
16
+ tag = create(name: name) if tag.blank?
17
17
  tag
18
18
  end
19
19
  end
20
- end
20
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  class User < Base
3
5
  def base_path
@@ -17,4 +19,4 @@ module ActionKitRest
17
19
  user
18
20
  end
19
21
  end
20
- end
22
+ end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionKitRest
2
4
  module VERSION
3
5
  MAJOR = 0
4
6
  MINOR = 4
5
- PATCH = 2
7
+ PATCH = 6
6
8
  BUILD = nil
7
9
 
8
10
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'vertebrae'
2
4
 
3
5
  module ActionKitRest
@@ -1,18 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe ActionKitRest::Actions::EventCreateAction do
4
6
  describe '#get' do
5
- let(:actionkit) { ActionKitRest.new(host: 'test.com') }
7
+ let(:actionkit) { ActionKitRest.new(host: 'test.com') }
6
8
 
7
9
  before :each do
8
- stub_request(:get, "https://test.com/rest/v1/eventcreateaction/123/")
9
- .to_return(body: fixture('action/event_create_action.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
10
+ stub_request(:get, 'https://test.com/rest/v1/eventcreateaction/123/')
11
+ .to_return(body: fixture('action/event_create_action.json'), status: '200', headers: { content_type: 'application/json; charset=utf-8' })
10
12
  end
11
13
 
12
14
  it 'should retrieve eventcreateaction and aggregate parsed event and user IDs' do
13
15
  ak_event_create_action = actionkit.event_create_action.get('123')
14
16
 
15
- expect(ak_event_create_action.id).to eq(12345)
17
+ expect(ak_event_create_action.id).to eq(12_345)
16
18
  expect(ak_event_create_action.event_id).to eq('999')
17
19
  expect(ak_event_create_action.user_id).to eq('112233')
18
20
  end
@@ -1,18 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe ActionKitRest::Actions::EventSignupAction do
4
6
  describe '#get' do
5
- let(:actionkit) { ActionKitRest.new(host: 'test.com') }
7
+ let(:actionkit) { ActionKitRest.new(host: 'test.com') }
6
8
 
7
9
  before :each do
8
- stub_request(:get, "https://test.com/rest/v1/eventsignupaction/54321/")
9
- .to_return(body: fixture('action/event_signup_action.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
10
+ stub_request(:get, 'https://test.com/rest/v1/eventsignupaction/54321/')
11
+ .to_return(body: fixture('action/event_signup_action.json'), status: '200', headers: { content_type: 'application/json; charset=utf-8' })
10
12
  end
11
13
 
12
14
  it 'should retrieve eventsignupaction and aggregate parsed event sign-up and user IDs' do
13
15
  ak_event_signup_action = actionkit.event_signup_action.get('54321')
14
16
 
15
- expect(ak_event_signup_action.id).to eq(54321)
17
+ expect(ak_event_signup_action.id).to eq(54_321)
16
18
  expect(ak_event_signup_action.event_signup_id).to eq('888')
17
19
  expect(ak_event_signup_action.user_id).to eq('111')
18
20
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe ActionKitRest::AllowedUserField do
4
6
  let(:status) { 200 }
5
- let(:standard_headers) { {content_type: "application/json; charset=utf-8"} }
7
+ let(:standard_headers) { { content_type: 'application/json; charset=utf-8' } }
6
8
 
7
9
  subject { ActionKitRest.new(host: 'test.com', username: 'alice', password: 'somesecret') }
8
10
 
@@ -19,7 +21,7 @@ describe ActionKitRest::AllowedUserField do
19
21
  let(:response_body) { fixture('allowed_user_field/list.json') }
20
22
 
21
23
  before :each do
22
- stub_get(request_path).with(basic_auth: ['alice', 'somesecret'])
24
+ stub_get(request_path).with(basic_auth: %w[alice somesecret])
23
25
  .to_return(body: response_body,
24
26
  status: status,
25
27
  headers: standard_headers)
@@ -38,7 +40,7 @@ describe ActionKitRest::AllowedUserField do
38
40
  let(:response_body) { fixture('allowed_user_field/list_filtered.json') }
39
41
 
40
42
  before :each do
41
- stub_get(request_path).with(basic_auth: ['alice', 'somesecret'])
43
+ stub_get(request_path).with(basic_auth: %w[alice somesecret])
42
44
  .to_return(body: response_body,
43
45
  status: status,
44
46
  headers: standard_headers)
@@ -52,26 +54,26 @@ describe ActionKitRest::AllowedUserField do
52
54
 
53
55
  describe '#create' do
54
56
  let(:create_request_path) { 'alloweduserfield/' }
55
- let(:create_request_body) { {name: 'foo'}.to_json }
57
+ let(:create_request_body) { { name: 'foo' }.to_json }
56
58
  let(:create_status) { 201 }
57
59
  let(:created_url) { 'https://test.com/rest/v1/alloweduserfield/foo/' }
58
60
  let(:get_request_path) { 'alloweduserfield/foo/' }
59
61
  let(:get_response_body) { fixture('allowed_user_field/get.json') }
60
62
 
61
63
  before :each do
62
- stub_post(create_request_path).with(basic_auth: ['alice', 'somesecret'],
64
+ stub_post(create_request_path).with(basic_auth: %w[alice somesecret],
63
65
  body: create_request_body)
64
66
  .to_return(status: create_status,
65
67
  headers: standard_headers.merge(Location: created_url))
66
68
 
67
- stub_get(get_request_path).with(basic_auth: ['alice', 'somesecret'])
69
+ stub_get(get_request_path).with(basic_auth: %w[alice somesecret])
68
70
  .to_return(body: get_response_body,
69
71
  status: status,
70
72
  headers: standard_headers)
71
73
  end
72
74
 
73
75
  it 'should POST to the endpoint, then do a GET on the created object' do
74
- field = subject.allowed_user_field.create({name: 'foo'})
76
+ field = subject.allowed_user_field.create({ name: 'foo' })
75
77
  expect(field.display_name).to eq 'Foo'
76
78
  end
77
79
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe ActionKitRest do
4
6
  describe 'logging' do
5
- it "should have a logger" do
7
+ it 'should have a logger' do
6
8
  ActionKitRest.respond_to?(:logger).should be_truthy
7
9
  end
8
10
 
9
- it "should be able to log debug methods" do
11
+ it 'should be able to log debug methods' do
10
12
  ActionKitRest.logger.respond_to?(:debug).should be_truthy
11
13
  end
12
14
 
13
- it "should be settable" do
15
+ it 'should be settable' do
14
16
  ActionKitRest.respond_to?(:logger=).should be_truthy
15
- log = double()
17
+ log = double
16
18
  ActionKitRest.logger = log
17
19
  ActionKitRest.logger.should == log
18
20
  end
19
21
  end
20
- end
22
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe ActionKitRest::Page do
@@ -16,7 +18,7 @@ describe ActionKitRest::Page do
16
18
  subject.connection.configuration.host.should == 'test.com'
17
19
  end
18
20
 
19
- it "should have a client" do
21
+ it 'should have a client' do
20
22
  subject.page.client.should_not be_nil
21
23
  end
22
24
 
@@ -29,82 +31,80 @@ describe ActionKitRest::Page do
29
31
  end
30
32
  end
31
33
 
32
-
33
- describe "retrieval" do
34
+ describe 'retrieval' do
34
35
  before(:each) do
35
- stub_get(request_path).to_return(:body => body, :status => status,
36
- :headers => {:content_type => "application/json; charset=utf-8"})
36
+ stub_get(request_path).to_return(body: body, status: status,
37
+ headers: { content_type: 'application/json; charset=utf-8' })
37
38
  end
38
39
 
39
- describe ".list" do
40
+ describe '.list' do
40
41
  let(:status) { 200 }
41
42
  let(:body) { fixture('page/collection.json') }
42
43
  let(:request_path) { 'page/' }
43
44
 
44
- it "should allow listing the objects" do
45
+ it 'should allow listing the objects' do
45
46
  pages = subject.page.list
46
47
 
47
48
  pages.should be_an_instance_of(ActionKitRest::Response::Wrapper)
48
49
 
49
- pages.each do | obj |
50
+ pages.each do |obj|
50
51
  obj.should be_an_instance_of(Hashie::Mash)
51
52
  obj.should respond_to(:goal)
52
53
  end
53
54
  end
54
55
  end
55
56
 
56
- describe ".page" do
57
-
57
+ describe '.page' do
58
58
  let(:body) { fixture('page/object.json') }
59
59
  let(:request_path) { 'page/1/' }
60
60
 
61
- describe "success" do
61
+ describe 'success' do
62
62
  let(:status) { 200 }
63
- it "should return a single object" do
63
+ it 'should return a single object' do
64
64
  page = subject.page.get(1)
65
65
  page.goal.should == 10
66
66
  end
67
67
  end
68
68
 
69
- describe "not found" do
69
+ describe 'not found' do
70
70
  let(:status) { 404 }
71
71
 
72
- it "should return nil" do
73
- lambda{ subject.page.get(1).should == nil }.should raise_exception(ActionKitRest::Response::NotFound)
72
+ it 'should return nil' do
73
+ -> { subject.page.get(1).should.nil? }.should raise_exception(ActionKitRest::Response::NotFound)
74
74
  end
75
75
  end
76
-
77
- describe "error" do
76
+
77
+ describe 'error' do
78
78
  let(:status) { 400 }
79
79
  let(:body) { fixture('error.json') }
80
-
81
- it "should raise an ak validation response error" do
82
- lambda{ subject.page.get(1) }.should raise_exception(ActionKitRest::Response::ValidationError)
83
- end
80
+
81
+ it 'should raise an ak validation response error' do
82
+ -> { subject.page.get(1) }.should raise_exception(ActionKitRest::Response::ValidationError)
83
+ end
84
84
  end
85
85
 
86
86
  describe 'mailing ID error' do
87
87
  let(:status) { 400 }
88
88
  let(:body) { '{"errors": {"mailing_id": ["Unable to associate this mailing ID with account."]}}' }
89
89
 
90
- it "should raise an Invalid AKID response error" do
91
- lambda{ subject.page.get(1) }.should raise_exception(ActionKitRest::Response::InvalidAkidError)
90
+ it 'should raise an Invalid AKID response error' do
91
+ -> { subject.page.get(1) }.should raise_exception(ActionKitRest::Response::InvalidAkidError)
92
92
  end
93
93
  end
94
94
 
95
- describe "an error" do
95
+ describe 'an error' do
96
96
  let(:status) { 500 }
97
97
 
98
- it "should return nil" do
99
- lambda{ subject.page.get(1).should == nil }.should raise_exception(StandardError)
98
+ it 'should return nil' do
99
+ -> { subject.page.get(1).should.nil? }.should raise_exception(StandardError)
100
100
  end
101
101
  end
102
102
 
103
103
  describe 'try again' do
104
104
  let(:status) { 500 }
105
105
  let(:body) { '{"error": "Sorry, this request could not be processed. Please try again later."}' }
106
- it "should return nil" do
107
- lambda{ subject.page.get(1).should == nil }.should raise_exception(ActionKitRest::Response::TryAgainLater)
106
+ it 'should return nil' do
107
+ -> { subject.page.get(1).should.nil? }.should raise_exception(ActionKitRest::Response::TryAgainLater)
108
108
  end
109
109
  end
110
110
  end
@@ -1,34 +1,38 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'support/shared_contexts/stub_logger'
3
5
 
4
6
  describe ActionKitRest::Pages::EventCampaignPage do
5
- include_context "stub_logger"
7
+ include_context 'stub_logger'
6
8
 
7
9
  describe 'create' do
8
- let(:actionkit) { ActionKitRest.new(host: 'test.com') }
10
+ let(:actionkit) { ActionKitRest.new(host: 'test.com') }
9
11
 
10
- let(:event_campaign_title) { "Climate Change Paris 2015" }
11
- let(:event_campaign_name) { "climate-change-paris-2015" }
12
+ let(:event_campaign_title) { 'Climate Change Paris 2015' }
13
+ let(:event_campaign_name) { 'climate-change-paris-2015' }
12
14
 
13
15
  before :each do
14
16
  stub_request(:post, 'https://test.com/rest/v1/campaign/')
15
17
  .with(body: "{\"title\":\"#{event_campaign_title}\",\"name\":\"#{event_campaign_name}\"}")
16
- .to_return({status: '200', headers: {location: 'https://test.com/rest/v1/campaign/88/'} })
18
+ .to_return({ status: '200', headers: { location: 'https://test.com/rest/v1/campaign/88/' } })
17
19
 
18
20
  stub_request(:get, 'https://test.com/rest/v1/campaign/88/')
19
- .to_return({body: fixture('page/campaign.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"}})
21
+ .to_return({ body: fixture('page/campaign.json'), status: '200',
22
+ headers: { content_type: 'application/json; charset=utf-8' } })
20
23
 
21
24
  stub_request(:post, 'https://test.com/rest/v1/eventcreatepage/')
22
- .with(:body => "{\"campaign\":\"/rest/v1/campaign/88/\",\"name\":\"climate-change-paris-2015-event-create\",\"title\":\"Climate Change Paris 2015: event create\",\"tags\":[\"/rest/v1/tag/1/\",\"/rest/v1/tag/5/\"]}")
23
- .to_return({status: '200', headers: {location: "https://test.com/rest/v1/eventcreatepage/99/"}})
25
+ .with(body: '{"campaign":"/rest/v1/campaign/88/","name":"climate-change-paris-2015-event-create","title":"Climate Change Paris 2015: event create","tags":["/rest/v1/tag/1/","/rest/v1/tag/5/"]}')
26
+ .to_return({ status: '200', headers: { location: 'https://test.com/rest/v1/eventcreatepage/99/' } })
24
27
 
25
28
  stub_request(:post, 'https://test.com/rest/v1/eventsignuppage/')
26
- .with(:body => "{\"campaign\":\"/rest/v1/campaign/88/\",\"name\":\"climate-change-paris-2015-event-signup\",\"title\":\"Climate Change Paris 2015: event signup\",\"tags\":[\"/rest/v1/tag/1/\",\"/rest/v1/tag/5/\"]}")
27
- .to_return({status: '200', headers: {location: "https://test.com/rest/v1/eventsignuppage/111/"}})
29
+ .with(body: '{"campaign":"/rest/v1/campaign/88/","name":"climate-change-paris-2015-event-signup","title":"Climate Change Paris 2015: event signup","tags":["/rest/v1/tag/1/","/rest/v1/tag/5/"]}')
30
+ .to_return({ status: '200', headers: { location: 'https://test.com/rest/v1/eventsignuppage/111/' } })
28
31
  end
29
32
 
30
33
  it 'should create an event campaign' do
31
- resp = actionkit.event_campaign_page.create({title: 'Climate Change Paris 2015', name: 'climate-change-paris-2015', event_pages_tags: ['/rest/v1/tag/1/', '/rest/v1/tag/5/']})
34
+ resp = actionkit.event_campaign_page.create({ title: 'Climate Change Paris 2015',
35
+ name: 'climate-change-paris-2015', event_pages_tags: ['/rest/v1/tag/1/', '/rest/v1/tag/5/'] })
32
36
  expect(resp.title).to eq event_campaign_title
33
37
  expect(resp.name).to eq event_campaign_name
34
38
 
@@ -37,7 +41,8 @@ describe ActionKitRest::Pages::EventCampaignPage do
37
41
  end
38
42
 
39
43
  it 'should create associated event and signup create pages' do
40
- resp = actionkit.event_campaign_page.create({title: 'Climate Change Paris 2015', name: 'climate-change-paris-2015', event_pages_tags: ['/rest/v1/tag/1/', '/rest/v1/tag/5/']})
44
+ resp = actionkit.event_campaign_page.create({ title: 'Climate Change Paris 2015',
45
+ name: 'climate-change-paris-2015', event_pages_tags: ['/rest/v1/tag/1/', '/rest/v1/tag/5/'] })
41
46
  expect(resp.event_create_page_name).to eq 'climate-change-paris-2015-event-create'
42
47
  expect(resp.event_signup_page_name).to eq 'climate-change-paris-2015-event-signup'
43
48
 
@@ -47,18 +52,18 @@ describe ActionKitRest::Pages::EventCampaignPage do
47
52
  end
48
53
 
49
54
  describe 'find' do
50
- let(:actionkit) { ActionKitRest.new(host: 'test.com') }
55
+ let(:actionkit) { ActionKitRest.new(host: 'test.com') }
51
56
 
52
- let(:event_campaign_title) { "Climate Change Paris 2015" }
53
- let(:event_campaign_name) { "climate-change-paris-2015" }
57
+ let(:event_campaign_title) { 'Climate Change Paris 2015' }
58
+ let(:event_campaign_name) { 'climate-change-paris-2015' }
54
59
 
55
60
  before :each do
56
61
  stub_request(:get, 'https://test.com/rest/v1/campaign/?name=climate-change-paris-2015')
57
- .to_return(body: fixture('page/find_campaign.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
58
- stub_request(:get, "https://test.com/rest/v1/eventcreatepage/?name=climate-change-paris-2015-event-create")
59
- .to_return(body: fixture('page/find_event_create.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
60
- stub_request(:get, "https://test.com/rest/v1/eventsignuppage/?name=climate-change-paris-2015-event-signup")
61
- .to_return(body: fixture('page/find_event_signup.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
62
+ .to_return(body: fixture('page/find_campaign.json'), status: '200', headers: { content_type: 'application/json; charset=utf-8' })
63
+ stub_request(:get, 'https://test.com/rest/v1/eventcreatepage/?name=climate-change-paris-2015-event-create')
64
+ .to_return(body: fixture('page/find_event_create.json'), status: '200', headers: { content_type: 'application/json; charset=utf-8' })
65
+ stub_request(:get, 'https://test.com/rest/v1/eventsignuppage/?name=climate-change-paris-2015-event-signup')
66
+ .to_return(body: fixture('page/find_event_signup.json'), status: '200', headers: { content_type: 'application/json; charset=utf-8' })
62
67
  end
63
68
 
64
69
  it 'should retrieve event campaign by name' do
@@ -1,27 +1,30 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'support/shared_contexts/stub_logger'
3
5
 
4
6
  describe ActionKitRest::Pages::ImportPage do
5
- include_context "stub_logger"
7
+ include_context 'stub_logger'
6
8
 
7
- let(:actionkit) { ActionKitRest.new(host: 'test.com') }
9
+ let(:actionkit) { ActionKitRest.new(host: 'test.com') }
8
10
  let(:status) { 200 }
9
11
 
10
- describe "create" do
11
- let(:body) { "" }
12
- let(:request_body) { {title: "Title", name: "name"}.to_json }
12
+ describe 'create' do
13
+ let(:body) { '' }
14
+ let(:request_body) { { title: 'Title', name: 'name' }.to_json }
13
15
  let(:request_path) { 'importpage/' }
14
16
 
15
17
  before(:each) do
16
- stub_post(request_path).with(body: request_body).to_return(:body => body, :status => status,
17
- :headers => {location: 'https://test.com/rest/v1/importpage/1093/', content_type: "application/json; charset=utf-8"})
18
+ stub_post(request_path).with(body: request_body).to_return(body: body, status: status,
19
+ headers: { location: 'https://test.com/rest/v1/importpage/1093/', content_type: 'application/json; charset=utf-8' })
18
20
 
19
- stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
21
+ stub_request(:get, 'https://test.com/rest/v1/importpage/1093/').to_return(body: fixture('page/object.json'),
22
+ status: '200', headers: { content_type: 'application/json; charset=utf-8' })
20
23
  end
21
24
 
22
- describe ".create" do
23
- it "should allow creation" do
24
- resp = actionkit.import_page.create(title: "Title", name: "name")
25
+ describe '.create' do
26
+ it 'should allow creation' do
27
+ resp = actionkit.import_page.create(title: 'Title', name: 'name')
25
28
  expect(resp.title).to eq 'Demand a Sustainable USDA'
26
29
  end
27
30
  end
@@ -29,21 +32,22 @@ describe ActionKitRest::Pages::ImportPage do
29
32
 
30
33
  describe 'update' do
31
34
  let(:body) { '' }
32
- let(:request_body) { {title: "Title", name: "name"}.to_json }
35
+ let(:request_body) { { title: 'Title', name: 'name' }.to_json }
33
36
  let(:request_path) { 'importpage/1093/' }
34
37
 
35
38
  before(:each) do
36
- stub_put(request_path).with(body: request_body).to_return(:body => body, :status => status,
37
- :headers => { content_type: "application/json; charset=utf-8"})
39
+ stub_put(request_path).with(body: request_body).to_return(body: body, status: status,
40
+ headers: { content_type: 'application/json; charset=utf-8' })
38
41
 
39
- stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
42
+ stub_request(:get, 'https://test.com/rest/v1/importpage/1093/').to_return(body: fixture('page/object.json'),
43
+ status: '200', headers: { content_type: 'application/json; charset=utf-8' })
40
44
  end
41
45
 
42
46
  describe '.update' do
43
47
  it 'should allow updates' do
44
- resp = actionkit.import_page.update('1093', title: "Title", name: "name")
48
+ resp = actionkit.import_page.update('1093', title: 'Title', name: 'name')
45
49
  expect(resp.title).to eq 'Demand a Sustainable USDA'
46
50
  end
47
51
  end
48
52
  end
49
- end
53
+ end