ticketevolution-ruby 0.7.5 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,10 +9,10 @@ describe TicketEvolution::Client do
9
9
  let(:client) { TicketEvolution::Clients.new(:parent => connection).list.first }
10
10
 
11
11
  it "should pass the request to the appropriate endpoint and get back an appropriate response" do
12
- collection = client.addresses.list
12
+ collection = client.email_addresses.list
13
13
  collection.should be_a TicketEvolution::Collection
14
14
  collection.total_entries.should == collection.size
15
- collection.first.should be_a TicketEvolution::Address
15
+ collection.first.should be_a TicketEvolution::EmailAddress
16
16
  end
17
17
  end
18
18
 
@@ -10,6 +10,7 @@ describe TicketEvolution::Collection do
10
10
  its(:per_page) { should == 2 }
11
11
  its(:total_entries) { should == 1379 }
12
12
  its(:current_page) { should == 1 }
13
+ its(:status_code) { should == 200 }
13
14
  its(:code) { should == 200 }
14
15
  end
15
16
 
@@ -4,4 +4,31 @@ describe TicketEvolution::Shipment do
4
4
  subject { TicketEvolution::Shipment }
5
5
 
6
6
  it_behaves_like "a ticket_evolution model"
7
+
8
+ context "custom methods" do
9
+ let(:connection) { Fake.connection }
10
+ let(:instance) { TicketEvolution::Shipment.new({:connection => connection, 'id' => 1}) }
11
+ let(:plural_klass) { TicketEvolution::Shipments}
12
+ let!(:plural_klass_instance) { plural_klass.new(:parent => connection) }
13
+
14
+ before do
15
+ plural_klass.should_receive(:new).with(:parent => connection, :id => 1).and_return(plural_klass_instance)
16
+ end
17
+
18
+ describe "#generate_airbill" do
19
+ it "should pass the request to TicketEvolution::Shipments#generate_airbill" do
20
+ plural_klass_instance.should_receive(:generate_airbill).and_return(:dont_care)
21
+
22
+ instance.generate_airbill
23
+ end
24
+ end
25
+
26
+ describe "#cancel" do
27
+ it "should pass the request to TicketEvolution::Shipments#cancel_shipment" do
28
+ plural_klass_instance.should_receive(:cancel_shipment).and_return(:dont_care)
29
+
30
+ instance.cancel
31
+ end
32
+ end
33
+ end
7
34
  end
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe TicketEvolution::Shipments do
4
4
  let(:klass) { TicketEvolution::Shipments }
5
+ let(:instance) { klass.new({:parent => Fake.connection}) }
5
6
  let(:single_klass) { TicketEvolution::Shipment }
6
7
  let(:update_base) { {} }
7
8
 
@@ -10,4 +11,42 @@ describe TicketEvolution::Shipments do
10
11
  it_behaves_like 'a create endpoint'
11
12
  it_behaves_like 'an update endpoint'
12
13
  it_behaves_like 'a show endpoint'
14
+
15
+ describe "#generate_airbill" do
16
+ context "with an id" do
17
+ let(:instance) { klass.new({:parent => Fake.connection, :id => 1}) }
18
+
19
+ it "should pass call request as a POST" do
20
+ instance.should_receive(:request).with(:POST, "/airbill", nil)
21
+
22
+ instance.generate_airbill
23
+ end
24
+ end
25
+
26
+ context "without an id" do
27
+ it "should raise an UnavailableMethodError if there is no id" do
28
+ message = "#{klass.to_s}#generate_airbill can only be called if there is an id present on this #{klass.to_s} instance"
29
+ expect { instance.generate_airbill }.to raise_error TicketEvolution::MethodUnavailableError, message
30
+ end
31
+ end
32
+ end
33
+
34
+ describe "#cancel_shipment" do
35
+ context "with an id" do
36
+ let(:instance) { klass.new({:parent => Fake.connection, :id => 1}) }
37
+
38
+ it "should pass call request as a POST" do
39
+ instance.should_receive(:request).with(:PUT, "/cancel", nil)
40
+
41
+ instance.cancel_shipment
42
+ end
43
+ end
44
+
45
+ context "without an id" do
46
+ it "should raise an UnavailableMethodError if there is no id" do
47
+ message = "#{klass.to_s}#cancel_shipment can only be called if there is an id present on this #{klass.to_s} instance"
48
+ expect { instance.cancel_shipment }.to raise_error TicketEvolution::MethodUnavailableError, message
49
+ end
50
+ end
51
+ end
13
52
  end
@@ -71,15 +71,10 @@ shared_examples_for "an update endpoint" do
71
71
  :last_name => "Doe"
72
72
  })) }
73
73
  let(:params) { {:first_name => "Bob"} }
74
- let(:expected) do
75
- data = instance.attributes.merge(params)
76
- data.delete(:id)
77
- data
78
- end
79
74
  let(:response) { mock(:response, :attributes => params) }
80
75
 
81
76
  it "should pass call request as a PUT, passing params" do
82
- klass.any_instance.should_receive(:request).with(:PUT, nil, expected).and_return(response)
77
+ klass.any_instance.should_receive(:request).with(:PUT, nil, params).and_return(response)
83
78
 
84
79
  instance.update_attributes(params)
85
80
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ticketevolution-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.7.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-03 00:00:00.000000000Z
12
+ date: 2012-05-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70114881071020 !ruby/object:Gem::Requirement
16
+ requirement: &70203422829420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70114881071020
24
+ version_requirements: *70203422829420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: faraday
27
- requirement: &70114881069720 !ruby/object:Gem::Requirement
27
+ requirement: &70203422827960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.7.3
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70114881069720
35
+ version_requirements: *70203422827960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yajl-ruby
38
- requirement: &70114881066980 !ruby/object:Gem::Requirement
38
+ requirement: &70203422826520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.7.7
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70114881066980
46
+ version_requirements: *70203422826520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: multi_json
49
- requirement: &70114881065660 !ruby/object:Gem::Requirement
49
+ requirement: &70203422823860 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.0.4
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70114881065660
57
+ version_requirements: *70203422823860
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: nokogiri
60
- requirement: &70114881064320 !ruby/object:Gem::Requirement
60
+ requirement: &70203422822280 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.4.3
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70114881064320
68
+ version_requirements: *70203422822280
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70114881062980 !ruby/object:Gem::Requirement
71
+ requirement: &70203422821260 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 2.7.1
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70114881062980
79
+ version_requirements: *70203422821260
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: vcr
82
- requirement: &70114881061620 !ruby/object:Gem::Requirement
82
+ requirement: &70203422819780 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - <
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '2'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70114881061620
90
+ version_requirements: *70203422819780
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: webmock
93
- requirement: &70114881061000 !ruby/object:Gem::Requirement
93
+ requirement: &70203422818480 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -101,10 +101,10 @@ dependencies:
101
101
  version: 1.8.0
102
102
  type: :development
103
103
  prerelease: false
104
- version_requirements: *70114881061000
104
+ version_requirements: *70203422818480
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: awesome_print
107
- requirement: &70114881060120 !ruby/object:Gem::Requirement
107
+ requirement: &70203422817600 !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
110
110
  - - ! '>='
@@ -112,10 +112,10 @@ dependencies:
112
112
  version: '0'
113
113
  type: :development
114
114
  prerelease: false
115
- version_requirements: *70114881060120
115
+ version_requirements: *70203422817600
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: rake
118
- requirement: &70114881059000 !ruby/object:Gem::Requirement
118
+ requirement: &70203422816880 !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements:
121
121
  - - ! '>='
@@ -123,7 +123,7 @@ dependencies:
123
123
  version: '0'
124
124
  type: :development
125
125
  prerelease: false
126
- version_requirements: *70114881059000
126
+ version_requirements: *70203422816880
127
127
  description: Provides Ruby wrappers for the Ticket Evolution API (http://developer.ticketevolution.com).
128
128
  Ticket Evolution is the industry leader in software for the Ticket Broker industry.
129
129
  email:
@@ -323,7 +323,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
323
323
  version: '0'
324
324
  segments:
325
325
  - 0
326
- hash: -2909427560002696490
326
+ hash: -2885151719105410288
327
327
  required_rubygems_version: !ruby/object:Gem::Requirement
328
328
  none: false
329
329
  requirements: