centrum_faktur 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +0 -1
- data/Gemfile +2 -1
- data/README.md +24 -32
- data/Rakefile +1 -1
- data/centrum_faktur.gemspec +0 -11
- data/lib/centrum_faktur/api/account.rb +10 -0
- data/lib/centrum_faktur/api/base.rb +17 -0
- data/lib/centrum_faktur/api/comment.rb +15 -0
- data/lib/centrum_faktur/api/customer.rb +30 -0
- data/lib/centrum_faktur/api/estimate.rb +35 -0
- data/lib/centrum_faktur/api/invoice.rb +35 -0
- data/lib/centrum_faktur/api/payment.rb +15 -0
- data/lib/centrum_faktur/api/user.rb +10 -0
- data/lib/centrum_faktur/client.rb +39 -0
- data/lib/centrum_faktur/connection.rb +72 -74
- data/lib/centrum_faktur/utils.rb +2 -0
- data/lib/centrum_faktur/version.rb +1 -1
- data/lib/centrum_faktur.rb +9 -15
- data/test/{comment_test.rb → api/comment_test.rb} +4 -8
- data/test/{customer_test.rb → api/customer_test.rb} +4 -8
- data/test/api/invoice_test.rb +23 -0
- data/test/{payments_test.rb → api/payments_test.rb} +4 -8
- data/test/{user_test.rb → api/user_test.rb} +4 -8
- data/test/client_test.rb +21 -0
- data/test/connection_test.rb +2 -6
- metadata +18 -20
- data/lib/centrum_faktur/account.rb +0 -8
- data/lib/centrum_faktur/comment.rb +0 -13
- data/lib/centrum_faktur/customer.rb +0 -28
- data/lib/centrum_faktur/estimate.rb +0 -33
- data/lib/centrum_faktur/invoice.rb +0 -33
- data/lib/centrum_faktur/payment.rb +0 -13
- data/lib/centrum_faktur/user.rb +0 -8
- data/test/configuration_test.rb +0 -15
- data/test/invoice_test.rb +0 -27
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -7,33 +7,25 @@ Ruby client for [Centrum Faktur API](http://centrumfaktur.pl/api/)
|
|
|
7
7
|
```
|
|
8
8
|
gem install centrum_faktur
|
|
9
9
|
```
|
|
10
|
+
## Usage
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Request returns Array or Hash, where keys are strings.
|
|
13
|
+
When other format than `json` (default) or `yaml` is specified, response is not parsed.
|
|
14
|
+
So for `xml` and `pickle` requests, string is returned.
|
|
12
15
|
|
|
13
|
-
```
|
|
16
|
+
```ruby
|
|
14
17
|
require "centrum_faktur"
|
|
15
|
-
|
|
16
|
-
CentrumFaktur.configure do |config|
|
|
17
|
-
config.login = "your_login"
|
|
18
|
-
config.subdomain = "your-subdomain"
|
|
19
|
-
config.password = "your-password"
|
|
20
|
-
end
|
|
18
|
+
client = CentrumFaktur::Client.new(login: "your_login", password: "your-password", subdomain: "your-subodomain")
|
|
21
19
|
```
|
|
22
20
|
|
|
23
|
-
## Usage
|
|
24
|
-
|
|
25
|
-
Requests return Array or Hash, where keys are strings.
|
|
26
|
-
When other format than json (default) or yaml is specified, response is not parsed.
|
|
27
|
-
So for xml and pickle requests string is returned.
|
|
28
|
-
|
|
29
21
|
``` ruby
|
|
30
|
-
|
|
22
|
+
client.invoice.show("/api/1.0/invoices/1/", format: :xml)
|
|
31
23
|
```
|
|
32
24
|
|
|
33
25
|
Writing invoice to pdf can be done as follows:
|
|
34
26
|
|
|
35
27
|
``` ruby
|
|
36
|
-
File.open("my-invoice.pdf", "w") { |file| file.write(
|
|
28
|
+
File.open("my-invoice.pdf", "w") { |file| file.write(client.invoice.show("/api/1.0/invoices/1/", format: :pdf)) }
|
|
37
29
|
```
|
|
38
30
|
|
|
39
31
|
All params that respond to `strftime` (i.e. Date, Time) will be normalized to format
|
|
@@ -44,7 +36,7 @@ required by API, that is: `"YYYY-MM-DD"`
|
|
|
44
36
|
Only listing accounts is supported via API
|
|
45
37
|
|
|
46
38
|
``` ruby
|
|
47
|
-
|
|
39
|
+
client.account.list
|
|
48
40
|
```
|
|
49
41
|
|
|
50
42
|
### Comment
|
|
@@ -52,13 +44,13 @@ CentrumFaktur::Account.list
|
|
|
52
44
|
Listing all comments:
|
|
53
45
|
|
|
54
46
|
``` ruby
|
|
55
|
-
|
|
47
|
+
client.comment.list
|
|
56
48
|
```
|
|
57
49
|
|
|
58
50
|
Or listing comments for given resource:
|
|
59
51
|
|
|
60
52
|
``` ruby
|
|
61
|
-
|
|
53
|
+
client.comment.list("/api/1.0/estimates/1/comments/")
|
|
62
54
|
```
|
|
63
55
|
|
|
64
56
|
Creating comment:
|
|
@@ -66,7 +58,7 @@ Creating comment:
|
|
|
66
58
|
You must pass path to resource comment and required attributes:
|
|
67
59
|
|
|
68
60
|
``` ruby
|
|
69
|
-
|
|
61
|
+
client.comment.create("/api/1.0/estimates/1/comments/", {body: "cool", is_public: false})
|
|
70
62
|
```
|
|
71
63
|
|
|
72
64
|
### Estimate
|
|
@@ -74,31 +66,31 @@ CentrumFaktur::Comment.create("/api/1.0/estimates/1/comments/", {:body => "cool"
|
|
|
74
66
|
Listing all estimates:
|
|
75
67
|
|
|
76
68
|
``` ruby
|
|
77
|
-
|
|
69
|
+
client.estimate.list
|
|
78
70
|
```
|
|
79
71
|
|
|
80
72
|
Monitoring estimate changes (with optional filter param):
|
|
81
73
|
|
|
82
74
|
``` ruby
|
|
83
|
-
|
|
75
|
+
client.estimate.list_updates(updated_since: "2012-01-12")
|
|
84
76
|
```
|
|
85
77
|
|
|
86
78
|
Creating estimate (check required attributes in API description):
|
|
87
79
|
|
|
88
80
|
``` ruby
|
|
89
|
-
|
|
81
|
+
client.estimate.create({})
|
|
90
82
|
```
|
|
91
83
|
|
|
92
84
|
Updating estimate:
|
|
93
85
|
|
|
94
86
|
``` ruby
|
|
95
|
-
|
|
87
|
+
client.estimate.update("/api/1.0/estimates/1/", {})
|
|
96
88
|
```
|
|
97
89
|
|
|
98
90
|
Removing estimate:
|
|
99
91
|
|
|
100
92
|
``` ruby
|
|
101
|
-
|
|
93
|
+
client.estimate.destroy("/api/1.0/estimates/1/")
|
|
102
94
|
```
|
|
103
95
|
|
|
104
96
|
### Invoice
|
|
@@ -106,37 +98,37 @@ CentrumFaktur::Estimate.destroy("/api/1.0/estimates/1/")
|
|
|
106
98
|
Listing all invoices:
|
|
107
99
|
|
|
108
100
|
``` ruby
|
|
109
|
-
|
|
101
|
+
client.invoice.list
|
|
110
102
|
```
|
|
111
103
|
|
|
112
104
|
Monitoring invoice changes:
|
|
113
105
|
|
|
114
106
|
``` ruby
|
|
115
|
-
|
|
107
|
+
client.invoice.list_updates
|
|
116
108
|
```
|
|
117
109
|
|
|
118
110
|
Displaying invoice:
|
|
119
111
|
|
|
120
112
|
``` ruby
|
|
121
|
-
|
|
113
|
+
client.invoice.show("/api/1.0/invoices/1/")
|
|
122
114
|
```
|
|
123
115
|
|
|
124
116
|
Creating invoice (check required attributes in API description):
|
|
125
117
|
|
|
126
118
|
``` ruby
|
|
127
|
-
|
|
119
|
+
client.invoice.create({})
|
|
128
120
|
```
|
|
129
121
|
|
|
130
122
|
Updating invoice:
|
|
131
123
|
|
|
132
124
|
``` ruby
|
|
133
|
-
|
|
125
|
+
client.invoice.update("/api/1.0/invoices/1/", {})
|
|
134
126
|
```
|
|
135
127
|
|
|
136
128
|
Removing invoice:
|
|
137
129
|
|
|
138
130
|
``` ruby
|
|
139
|
-
|
|
131
|
+
client.invoice.destroy("/api/1.0/invoices/1/")
|
|
140
132
|
```
|
|
141
133
|
|
|
142
134
|
### User ###
|
|
@@ -144,7 +136,7 @@ CentrumFaktur::Invoice.destroy("/api/1.0/invoices/1/")
|
|
|
144
136
|
Only listing users is supported via API
|
|
145
137
|
|
|
146
138
|
``` ruby
|
|
147
|
-
|
|
139
|
+
client.user.list
|
|
148
140
|
```
|
|
149
141
|
|
|
150
142
|
## Continuous Integration
|
data/Rakefile
CHANGED
data/centrum_faktur.gemspec
CHANGED
|
@@ -17,15 +17,4 @@ Gem::Specification.new do |gem|
|
|
|
17
17
|
|
|
18
18
|
gem.add_dependency "multi_json", "~> 1.3.2"
|
|
19
19
|
gem.add_development_dependency "fakeweb"
|
|
20
|
-
|
|
21
|
-
gem.post_install_message = %{
|
|
22
|
-
*************************************************************************
|
|
23
|
-
|
|
24
|
-
Interface of version 0.3 of this gem will change with backward incompatibilities.
|
|
25
|
-
|
|
26
|
-
If you don't want to update your code, please specify in your Gemfile:
|
|
27
|
-
gem "centrum_faktur", "~> 0.2.0"
|
|
28
|
-
|
|
29
|
-
*************************************************************************
|
|
30
|
-
}
|
|
31
20
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Base
|
|
5
|
+
attr_reader :client
|
|
6
|
+
|
|
7
|
+
def initialize(client)
|
|
8
|
+
@client = client
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def connection
|
|
14
|
+
CentrumFaktur::Connection.new(client)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Comment < Base
|
|
5
|
+
def list(comment_uri = "/api/1.0/comments/", options = {})
|
|
6
|
+
request = connection.get(comment_uri, options)
|
|
7
|
+
request.handle_response
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def create(comment_uri, params)
|
|
11
|
+
request = connection.post(comment_uri, params)
|
|
12
|
+
request.handle_response
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Customer < Base
|
|
5
|
+
def list(options = {})
|
|
6
|
+
request = connection.get("/api/1.0/customers/", options)
|
|
7
|
+
request.handle_response
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def show(customer_uri, options = {})
|
|
11
|
+
request = connection.get(customer_uri, options)
|
|
12
|
+
request.handle_response
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def create(params)
|
|
16
|
+
request = connection.post("/api/1.0/customers/", params)
|
|
17
|
+
request.handle_response
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def update(customer_uri, params)
|
|
21
|
+
request = connection.put(customer_uri, params)
|
|
22
|
+
request.handle_response
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def destroy(customer_uri)
|
|
26
|
+
request = connection.delete(customer_uri)
|
|
27
|
+
request.handle_response
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Estimate < Base
|
|
5
|
+
def list(options = {})
|
|
6
|
+
request = connection.get("/api/1.0/estimates/", options)
|
|
7
|
+
request.handle_response
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def list_updates(options = {})
|
|
11
|
+
request = connection.get("/api/1.0/estimates/updates/", options)
|
|
12
|
+
request.handle_response
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def show(estimate_uri, options = {})
|
|
16
|
+
request = connection.get(estimate_uri, options)
|
|
17
|
+
request.handle_response
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def create(params)
|
|
21
|
+
request = connection.post("/api/1.0/estimates/", params)
|
|
22
|
+
request.handle_response
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def update(estimate_uri, params)
|
|
26
|
+
request = connection.put(estimate_uri, params)
|
|
27
|
+
request.handle_response
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def destroy(estimate_uri)
|
|
31
|
+
request = connection.delete(estimate_uri)
|
|
32
|
+
request.handle_response
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Invoice < Base
|
|
5
|
+
def list(options = {})
|
|
6
|
+
request = connection.get("/api/1.0/invoices/", options)
|
|
7
|
+
request.handle_response
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def list_updates(options = {})
|
|
11
|
+
request = connection.get("/api/1.0/invoices/updates/", options)
|
|
12
|
+
request.handle_response
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def show(invoice_uri, options = {})
|
|
16
|
+
request = connection.get(invoice_uri, options)
|
|
17
|
+
request.handle_response
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def create(params)
|
|
21
|
+
request = connection.post("/api/1.0/invoices/", params)
|
|
22
|
+
request.handle_response
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def update(invoice_uri, params)
|
|
26
|
+
request = connection.put(invoice_uri, params)
|
|
27
|
+
request.handle_response
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def destroy(invoice_uri)
|
|
31
|
+
request = connection.delete(invoice_uri)
|
|
32
|
+
request.handle_response
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require "centrum_faktur/api/base"
|
|
2
|
+
|
|
3
|
+
module CentrumFaktur::API
|
|
4
|
+
class Payment < Base
|
|
5
|
+
def list(comment_uri = "/api/1.0/payments/", options = {})
|
|
6
|
+
request = connection.get(comment_uri, options)
|
|
7
|
+
request.handle_response
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def create(payment_uri, params)
|
|
11
|
+
request = connection.post(payment_uri, params)
|
|
12
|
+
request.handle_response
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module CentrumFaktur
|
|
2
|
+
class Client
|
|
3
|
+
attr_reader :login, :password, :subdomain
|
|
4
|
+
|
|
5
|
+
def initialize(configuration = {})
|
|
6
|
+
@login = configuration[:login] || raise(ArgumentError.new("You must specify login"))
|
|
7
|
+
@password = configuration[:password] || raise(ArgumentError.new("You must specify password"))
|
|
8
|
+
@subdomain = configuration[:subdomain] || raise(ArgumentError.new("You must specify subdomain"))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def account
|
|
12
|
+
API::Account.new(self)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def comment
|
|
16
|
+
API::Comment.new(self)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def customer
|
|
20
|
+
API::Customer.new(self)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def estimate
|
|
24
|
+
API::Estimate.new(self)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def invoice
|
|
28
|
+
API::Invoice.new(self)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def payment
|
|
32
|
+
API::Payment.new(self)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def user
|
|
36
|
+
API::User.new(self)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -4,92 +4,90 @@ require "uri"
|
|
|
4
4
|
require "yaml"
|
|
5
5
|
require "multi_json"
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
module CentrumFaktur
|
|
8
|
+
class Connection
|
|
9
|
+
attr_reader :client, :response, :path
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
self.subdomain = options.fetch(:subdomain, CentrumFaktur.subdomain) || raise(ArgumentError.new("You must specify subdomain"))
|
|
15
|
-
end
|
|
11
|
+
def initialize(client)
|
|
12
|
+
@client = client
|
|
13
|
+
end
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
end
|
|
15
|
+
def http
|
|
16
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
17
|
+
http.use_ssl = true
|
|
18
|
+
http
|
|
19
|
+
end
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
def uri
|
|
22
|
+
@uri ||= URI.parse("https://#{client.subdomain}.centrumfaktur.pl")
|
|
23
|
+
end
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
def format
|
|
26
|
+
@format ||= :json
|
|
27
|
+
end
|
|
31
28
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
# TODO: unify
|
|
30
|
+
def get(to, params = {})
|
|
31
|
+
@format = params.fetch(:format, :json)
|
|
32
|
+
@path = CentrumFaktur::Utils.path_with_params(to, params)
|
|
33
|
+
request = Net::HTTP::Get.new(@path, headers)
|
|
34
|
+
request.basic_auth(client.login, client.password)
|
|
35
|
+
@response = http.request(request)
|
|
36
|
+
self
|
|
37
|
+
end
|
|
41
38
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
def post(to, params = {})
|
|
40
|
+
@path = URI.parse(to).to_s
|
|
41
|
+
request = Net::HTTP::Post.new(@path, headers)
|
|
42
|
+
request.basic_auth(client.login, client.password)
|
|
43
|
+
request.body = MultiJson.dump(CentrumFaktur::Utils.normalize_params(params))
|
|
44
|
+
@response = http.request(request)
|
|
45
|
+
self
|
|
46
|
+
end
|
|
50
47
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
def put(to, params = {})
|
|
49
|
+
@path = URI.parse(to).to_s
|
|
50
|
+
request = Net::HTTP::Put.new(@path, headers)
|
|
51
|
+
request.basic_auth(client.login, client.password)
|
|
52
|
+
request.body = MultiJson.encode(CentrumFaktur::Utils.normalize_params(params))
|
|
53
|
+
@response = http.request(request)
|
|
54
|
+
self
|
|
55
|
+
end
|
|
59
56
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
57
|
+
def delete(to)
|
|
58
|
+
@path = URI.parse(to).to_s
|
|
59
|
+
request = Net::HTTP::Delete.new(@path, headers)
|
|
60
|
+
request.basic_auth(client.login, client.password)
|
|
61
|
+
@response = http.request(request)
|
|
62
|
+
self
|
|
63
|
+
end
|
|
67
64
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
65
|
+
def parse_response
|
|
66
|
+
case format.to_sym
|
|
67
|
+
when :json
|
|
68
|
+
response.body ? MultiJson.load(response.body) : nil
|
|
69
|
+
when :yaml
|
|
70
|
+
response.body ? YAML.load(response.body) : nil
|
|
71
|
+
when :xml, :pickle, :pdf
|
|
72
|
+
response.body
|
|
73
|
+
else
|
|
74
|
+
raise StandardError.new("Unknown format: #{@format}")
|
|
75
|
+
end
|
|
78
76
|
end
|
|
79
|
-
end
|
|
80
77
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
78
|
+
def handle_response
|
|
79
|
+
case response.code.to_i
|
|
80
|
+
when 200...300
|
|
81
|
+
parse_response
|
|
82
|
+
when 300...600
|
|
83
|
+
raise CentrumFaktur::ResponseError.new(response)
|
|
84
|
+
else
|
|
85
|
+
raise StandardError.new("Unknown response code")
|
|
86
|
+
end
|
|
89
87
|
end
|
|
90
|
-
end
|
|
91
88
|
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
def headers
|
|
90
|
+
{"Content-Type" => "application/json", "User-Agent" => "ruby-gem-v#{CentrumFaktur::VERSION}"}
|
|
91
|
+
end
|
|
94
92
|
end
|
|
95
93
|
end
|
data/lib/centrum_faktur/utils.rb
CHANGED
data/lib/centrum_faktur.rb
CHANGED
|
@@ -2,22 +2,16 @@ require "centrum_faktur/version"
|
|
|
2
2
|
require "centrum_faktur/utils"
|
|
3
3
|
require "centrum_faktur/exceptions"
|
|
4
4
|
require "centrum_faktur/connection"
|
|
5
|
-
require "centrum_faktur/
|
|
6
|
-
|
|
7
|
-
require "centrum_faktur/
|
|
8
|
-
require "centrum_faktur/
|
|
9
|
-
require "centrum_faktur/
|
|
10
|
-
require "centrum_faktur/
|
|
11
|
-
require "centrum_faktur/
|
|
5
|
+
require "centrum_faktur/client"
|
|
6
|
+
|
|
7
|
+
require "centrum_faktur/api/account"
|
|
8
|
+
require "centrum_faktur/api/comment"
|
|
9
|
+
require "centrum_faktur/api/customer"
|
|
10
|
+
require "centrum_faktur/api/estimate"
|
|
11
|
+
require "centrum_faktur/api/invoice"
|
|
12
|
+
require "centrum_faktur/api/user"
|
|
13
|
+
require "centrum_faktur/api/payment"
|
|
12
14
|
|
|
13
15
|
module CentrumFaktur
|
|
14
16
|
API_VERSION = "1.0"
|
|
15
|
-
|
|
16
|
-
class << self
|
|
17
|
-
attr_accessor :login, :password, :subdomain
|
|
18
|
-
|
|
19
|
-
def configure
|
|
20
|
-
yield self
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
17
|
end
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
require "helper"
|
|
3
3
|
|
|
4
|
-
describe CentrumFaktur::Comment do
|
|
4
|
+
describe CentrumFaktur::API::Comment do
|
|
5
5
|
before do
|
|
6
|
-
CentrumFaktur.
|
|
7
|
-
config.login = "john"
|
|
8
|
-
config.password = "secret"
|
|
9
|
-
config.subdomain = "john"
|
|
10
|
-
end
|
|
6
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
11
7
|
end
|
|
12
8
|
|
|
13
9
|
it "returns estimate comments list limited to one" do
|
|
14
10
|
FakeWeb.register_uri(:get, "https://john:secret@john.centrumfaktur.pl/api/1.0/estimates/14587/comments/?limit=1", :response => fixture("comments.txt"))
|
|
15
|
-
response = CentrumFaktur::Comment.list("/api/1.0/estimates/14587/comments/", :limit => 1)
|
|
11
|
+
response = CentrumFaktur::API::Comment.new(@client).list("/api/1.0/estimates/14587/comments/", :limit => 1)
|
|
16
12
|
expected = [{"body"=>"cool", "user_uri"=>"/api/1.0/users/749/", "comment_type"=>"user", "created"=>"2011-06-14 20:06:36", "commented_object_type"=>"estimate", "commented_object_uri"=>"/api/1.0/estimates/20527/", "is_public"=>false}]
|
|
17
13
|
|
|
18
14
|
assert_equal expected, response
|
|
@@ -20,7 +16,7 @@ describe CentrumFaktur::Comment do
|
|
|
20
16
|
|
|
21
17
|
it "creates comment" do
|
|
22
18
|
FakeWeb.register_uri(:post, "https://john:secret@john.centrumfaktur.pl/api/1.0/estimates/14587/comments/", :response => fixture("new_comment.txt"))
|
|
23
|
-
response = CentrumFaktur::Comment.create("/api/1.0/estimates/14587/comments/", {:body => "cool", :is_public => false})
|
|
19
|
+
response = CentrumFaktur::API::Comment.new(@client).create("/api/1.0/estimates/14587/comments/", {:body => "cool", :is_public => false})
|
|
24
20
|
expected = {"body"=>"thanks", "user_uri"=>"/api/1.0/users/749/", "comment_type"=>"user", "created"=>"2011-06-16 21:55:03", "commented_object_type"=>"estimate", "commented_object_uri"=>"/api/1.0/estimates/20627/", "is_public"=>false}
|
|
25
21
|
|
|
26
22
|
assert_equal expected, response
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
require "helper"
|
|
3
3
|
|
|
4
|
-
describe CentrumFaktur::Customer do
|
|
4
|
+
describe CentrumFaktur::API::Customer do
|
|
5
5
|
before do
|
|
6
|
-
CentrumFaktur.
|
|
7
|
-
config.login = "john"
|
|
8
|
-
config.password = "secret"
|
|
9
|
-
config.subdomain = "john"
|
|
10
|
-
end
|
|
6
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
11
7
|
end
|
|
12
8
|
|
|
13
9
|
it "returns customers list" do
|
|
14
|
-
FakeWeb.register_uri(:get, "https://john:secret@john.centrumfaktur.pl/api/1.0/customers/", :
|
|
15
|
-
response = CentrumFaktur::Customer.list
|
|
10
|
+
FakeWeb.register_uri(:get, "https://john:secret@john.centrumfaktur.pl/api/1.0/customers/", response: fixture("customers.txt"))
|
|
11
|
+
response = CentrumFaktur::API::Customer.new(@client).list
|
|
16
12
|
expected = [{"name"=>"Stefan Stefański", "contact"=>"", "address"=>"Stefanowo\r\nul. Stefańska 1", "resource_uri"=>"/api/1.0/customers/3138/", "email"=>"w.wnetrzak+stefan@gmail.com", "tax_id"=>""}]
|
|
17
13
|
|
|
18
14
|
assert_equal expected, response
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
require "helper"
|
|
3
|
+
|
|
4
|
+
describe CentrumFaktur::API::Invoice do
|
|
5
|
+
before do
|
|
6
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "detroys invoice" do
|
|
10
|
+
FakeWeb.register_uri(:delete, "https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/666/", response: fixture("destroy_invoice.txt"))
|
|
11
|
+
response = CentrumFaktur::API::Invoice.new(@client).destroy("/api/1.0/invoices/666/")
|
|
12
|
+
|
|
13
|
+
assert_equal nil, response
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "raises error when invoice does not exist" do
|
|
17
|
+
FakeWeb.register_uri(:delete, "https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/666/", response: fixture("destroy_invoice_404.txt"))
|
|
18
|
+
|
|
19
|
+
assert_raises CentrumFaktur::ResponseError do
|
|
20
|
+
CentrumFaktur::API::Invoice.new(@client).destroy("/api/1.0/invoices/666/")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
require "helper"
|
|
2
2
|
|
|
3
|
-
describe CentrumFaktur::Payment do
|
|
3
|
+
describe CentrumFaktur::API::Payment do
|
|
4
4
|
before do
|
|
5
|
-
CentrumFaktur.
|
|
6
|
-
config.login = "john"
|
|
7
|
-
config.password = "secret"
|
|
8
|
-
config.subdomain = "john"
|
|
9
|
-
end
|
|
5
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
10
6
|
end
|
|
11
7
|
|
|
12
8
|
it "gets payment" do
|
|
@@ -14,7 +10,7 @@ describe CentrumFaktur::Payment do
|
|
|
14
10
|
"https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/22933/payments",
|
|
15
11
|
:response => fixture("payments.txt")
|
|
16
12
|
)
|
|
17
|
-
response = CentrumFaktur::Payment.list("/api/1.0/invoices/22933/payments")
|
|
13
|
+
response = CentrumFaktur::API::Payment.new(@client).list("/api/1.0/invoices/22933/payments")
|
|
18
14
|
expected = [{
|
|
19
15
|
"date" => "2007-01-01", "amount" => 10.0, "resource_uri" => "/api/1.0/users/749/",
|
|
20
16
|
"created" => "2011-06-14 20:06:36"
|
|
@@ -25,7 +21,7 @@ describe CentrumFaktur::Payment do
|
|
|
25
21
|
|
|
26
22
|
it "creates payment" do
|
|
27
23
|
FakeWeb.register_uri(:post, "https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/22933/payments", :response => fixture("new_payment.txt"))
|
|
28
|
-
response = CentrumFaktur::Payment.create("/api/1.0/invoices/22933/payments",
|
|
24
|
+
response = CentrumFaktur::API::Payment.new(@client).create("/api/1.0/invoices/22933/payments",
|
|
29
25
|
{:date => "2011-06-10", :amount => 99.00}
|
|
30
26
|
)
|
|
31
27
|
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
require "helper"
|
|
3
3
|
|
|
4
|
-
describe CentrumFaktur::User do
|
|
4
|
+
describe CentrumFaktur::API::User do
|
|
5
5
|
before do
|
|
6
|
-
CentrumFaktur.
|
|
7
|
-
config.login = "john"
|
|
8
|
-
config.password = "secret"
|
|
9
|
-
config.subdomain = "john"
|
|
10
|
-
end
|
|
6
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
11
7
|
end
|
|
12
8
|
|
|
13
9
|
it "returns users list" do
|
|
14
|
-
FakeWeb.register_uri(:get, "https://john:secret@john.centrumfaktur.pl/api/1.0/users/", :
|
|
15
|
-
response = CentrumFaktur::User.list
|
|
10
|
+
FakeWeb.register_uri(:get, "https://john:secret@john.centrumfaktur.pl/api/1.0/users/", response: fixture("users.txt"))
|
|
11
|
+
response = CentrumFaktur::API::User.new(@client).list
|
|
16
12
|
expected = [{
|
|
17
13
|
"login" => "morgoth",
|
|
18
14
|
"first_name" => "Wojciech",
|
data/test/client_test.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require "helper"
|
|
2
|
+
|
|
3
|
+
describe CentrumFaktur::Client do
|
|
4
|
+
it "raises Argument Error when login not present" do
|
|
5
|
+
assert_raises ArgumentError, /login/ do
|
|
6
|
+
CentrumFaktur::Client.new(password: "secret", subdomain: "john")
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "raises Argument Error when password not present" do
|
|
11
|
+
assert_raises ArgumentError, /password/ do
|
|
12
|
+
CentrumFaktur::Client.new(login: "john", subdomain: "john")
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "raises Argument Error when subdomain not present" do
|
|
17
|
+
assert_raises ArgumentError, /subdomain/ do
|
|
18
|
+
CentrumFaktur::Client.new(login: "john", password: "secret")
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/test/connection_test.rb
CHANGED
|
@@ -2,14 +2,10 @@ require "helper"
|
|
|
2
2
|
|
|
3
3
|
describe CentrumFaktur::Connection do
|
|
4
4
|
before do
|
|
5
|
-
CentrumFaktur.
|
|
6
|
-
config.login = "fake"
|
|
7
|
-
config.password = "fake"
|
|
8
|
-
config.subdomain = "fake"
|
|
9
|
-
end
|
|
5
|
+
@client = CentrumFaktur::Client.new(login: "john", password: "secret", subdomain: "john")
|
|
10
6
|
end
|
|
11
7
|
|
|
12
8
|
it "returns url to custom profile" do
|
|
13
|
-
assert_equal "https://
|
|
9
|
+
assert_equal "https://john.centrumfaktur.pl", CentrumFaktur::Connection.new(@client).uri.to_s
|
|
14
10
|
end
|
|
15
11
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: centrum_faktur
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-08-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: multi_json
|
|
@@ -58,21 +58,26 @@ files:
|
|
|
58
58
|
- Rakefile
|
|
59
59
|
- centrum_faktur.gemspec
|
|
60
60
|
- lib/centrum_faktur.rb
|
|
61
|
-
- lib/centrum_faktur/account.rb
|
|
62
|
-
- lib/centrum_faktur/
|
|
61
|
+
- lib/centrum_faktur/api/account.rb
|
|
62
|
+
- lib/centrum_faktur/api/base.rb
|
|
63
|
+
- lib/centrum_faktur/api/comment.rb
|
|
64
|
+
- lib/centrum_faktur/api/customer.rb
|
|
65
|
+
- lib/centrum_faktur/api/estimate.rb
|
|
66
|
+
- lib/centrum_faktur/api/invoice.rb
|
|
67
|
+
- lib/centrum_faktur/api/payment.rb
|
|
68
|
+
- lib/centrum_faktur/api/user.rb
|
|
69
|
+
- lib/centrum_faktur/client.rb
|
|
63
70
|
- lib/centrum_faktur/connection.rb
|
|
64
|
-
- lib/centrum_faktur/customer.rb
|
|
65
|
-
- lib/centrum_faktur/estimate.rb
|
|
66
71
|
- lib/centrum_faktur/exceptions.rb
|
|
67
|
-
- lib/centrum_faktur/invoice.rb
|
|
68
|
-
- lib/centrum_faktur/payment.rb
|
|
69
|
-
- lib/centrum_faktur/user.rb
|
|
70
72
|
- lib/centrum_faktur/utils.rb
|
|
71
73
|
- lib/centrum_faktur/version.rb
|
|
72
|
-
- test/comment_test.rb
|
|
73
|
-
- test/
|
|
74
|
+
- test/api/comment_test.rb
|
|
75
|
+
- test/api/customer_test.rb
|
|
76
|
+
- test/api/invoice_test.rb
|
|
77
|
+
- test/api/payments_test.rb
|
|
78
|
+
- test/api/user_test.rb
|
|
79
|
+
- test/client_test.rb
|
|
74
80
|
- test/connection_test.rb
|
|
75
|
-
- test/customer_test.rb
|
|
76
81
|
- test/fixtures/comments.txt
|
|
77
82
|
- test/fixtures/customers.txt
|
|
78
83
|
- test/fixtures/destroy_invoice.txt
|
|
@@ -82,17 +87,10 @@ files:
|
|
|
82
87
|
- test/fixtures/payments.txt
|
|
83
88
|
- test/fixtures/users.txt
|
|
84
89
|
- test/helper.rb
|
|
85
|
-
- test/invoice_test.rb
|
|
86
|
-
- test/payments_test.rb
|
|
87
|
-
- test/user_test.rb
|
|
88
90
|
- test/utils_test.rb
|
|
89
91
|
homepage: https://github.com/morgoth/centrum_faktur
|
|
90
92
|
licenses: []
|
|
91
|
-
post_install_message:
|
|
92
|
-
\ Interface of version 0.3 of this gem will change with backward incompatibilities.\n\n
|
|
93
|
-
\ If you don't want to update your code, please specify in your Gemfile:\n gem
|
|
94
|
-
\"centrum_faktur\", \"~> 0.2.0\"\n\n *************************************************************************\n
|
|
95
|
-
\ "
|
|
93
|
+
post_install_message:
|
|
96
94
|
rdoc_options: []
|
|
97
95
|
require_paths:
|
|
98
96
|
- lib
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class CentrumFaktur::Comment
|
|
2
|
-
class << self
|
|
3
|
-
def list(comment_uri = "/api/1.0/comments/", options = {})
|
|
4
|
-
request = CentrumFaktur::Connection.new.get(comment_uri, options)
|
|
5
|
-
request.handle_response
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def create(comment_uri, params)
|
|
9
|
-
request = CentrumFaktur::Connection.new.post(comment_uri, params)
|
|
10
|
-
request.handle_response
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
class CentrumFaktur::Customer
|
|
2
|
-
class << self
|
|
3
|
-
def list(options = {})
|
|
4
|
-
request = CentrumFaktur::Connection.new.get("/api/1.0/customers/", options)
|
|
5
|
-
request.handle_response
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def show(customer_uri, options = {})
|
|
9
|
-
request = CentrumFaktur::Connection.new.get(customer_uri, options)
|
|
10
|
-
request.handle_response
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def create(params)
|
|
14
|
-
request = CentrumFaktur::Connection.new.post("/api/1.0/customers/", params)
|
|
15
|
-
request.handle_response
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def update(customer_uri, params)
|
|
19
|
-
request = CentrumFaktur::Connection.new.put(customer_uri, params)
|
|
20
|
-
request.handle_response
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def destroy(customer_uri)
|
|
24
|
-
request = CentrumFaktur::Connection.new.delete(customer_uri)
|
|
25
|
-
request.handle_response
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
class CentrumFaktur::Estimate
|
|
2
|
-
class << self
|
|
3
|
-
def list(options = {})
|
|
4
|
-
request = CentrumFaktur::Connection.new.get("/api/1.0/estimates/", options)
|
|
5
|
-
request.handle_response
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def list_updates(options = {})
|
|
9
|
-
request = CentrumFaktur::Connection.new.get("/api/1.0/estimates/updates/", options)
|
|
10
|
-
request.handle_response
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def show(estimate_uri, options = {})
|
|
14
|
-
request = CentrumFaktur::Connection.new.get(estimate_uri, options)
|
|
15
|
-
request.handle_response
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def create(params)
|
|
19
|
-
request = CentrumFaktur::Connection.new.post("/api/1.0/estimates/", params)
|
|
20
|
-
request.handle_response
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def update(estimate_uri, params)
|
|
24
|
-
request = CentrumFaktur::Connection.new.put(estimate_uri, params)
|
|
25
|
-
request.handle_response
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def destroy(estimate_uri)
|
|
29
|
-
request = CentrumFaktur::Connection.new.delete(estimate_uri)
|
|
30
|
-
request.handle_response
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
class CentrumFaktur::Invoice
|
|
2
|
-
class << self
|
|
3
|
-
def list(options = {})
|
|
4
|
-
request = CentrumFaktur::Connection.new.get("/api/1.0/invoices/", options)
|
|
5
|
-
request.handle_response
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def list_updates(options = {})
|
|
9
|
-
request = CentrumFaktur::Connection.new.get("/api/1.0/invoices/updates/", options)
|
|
10
|
-
request.handle_response
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def show(invoice_uri, options = {})
|
|
14
|
-
request = CentrumFaktur::Connection.new.get(invoice_uri, options)
|
|
15
|
-
request.handle_response
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def create(params)
|
|
19
|
-
request = CentrumFaktur::Connection.new.post("/api/1.0/invoices/", params)
|
|
20
|
-
request.handle_response
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def update(invoice_uri, params)
|
|
24
|
-
request = CentrumFaktur::Connection.new.put(invoice_uri, params)
|
|
25
|
-
request.handle_response
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def destroy(invoice_uri)
|
|
29
|
-
request = CentrumFaktur::Connection.new.delete(invoice_uri)
|
|
30
|
-
request.handle_response
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class CentrumFaktur::Payment
|
|
2
|
-
class << self
|
|
3
|
-
def list(comment_uri = "/api/1.0/payments/", options = {})
|
|
4
|
-
request = CentrumFaktur::Connection.new.get(comment_uri, options)
|
|
5
|
-
request.handle_response
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def create(payment_uri, params)
|
|
9
|
-
request = CentrumFaktur::Connection.new.post(payment_uri, params)
|
|
10
|
-
request.handle_response
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
data/lib/centrum_faktur/user.rb
DELETED
data/test/configuration_test.rb
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require "helper"
|
|
2
|
-
|
|
3
|
-
describe "Configuration" do
|
|
4
|
-
it "allows to set custom settings" do
|
|
5
|
-
CentrumFaktur.configure do |config|
|
|
6
|
-
config.login = "john"
|
|
7
|
-
config.password = "secret"
|
|
8
|
-
config.subdomain = "john-doe"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
assert_equal "john", CentrumFaktur.login
|
|
12
|
-
assert_equal "secret", CentrumFaktur.password
|
|
13
|
-
assert_equal "john-doe", CentrumFaktur.subdomain
|
|
14
|
-
end
|
|
15
|
-
end
|
data/test/invoice_test.rb
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
require "helper"
|
|
3
|
-
|
|
4
|
-
describe CentrumFaktur::Invoice do
|
|
5
|
-
before do
|
|
6
|
-
CentrumFaktur.configure do |config|
|
|
7
|
-
config.login = "john"
|
|
8
|
-
config.password = "secret"
|
|
9
|
-
config.subdomain = "john"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "detroys invoice" do
|
|
14
|
-
FakeWeb.register_uri(:delete, "https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/666/", :response => fixture("destroy_invoice.txt"))
|
|
15
|
-
response = CentrumFaktur::Invoice.destroy("/api/1.0/invoices/666/")
|
|
16
|
-
|
|
17
|
-
assert_equal nil, response
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "raises error when invoice does not exist" do
|
|
21
|
-
FakeWeb.register_uri(:delete, "https://john:secret@john.centrumfaktur.pl/api/1.0/invoices/666/", :response => fixture("destroy_invoice_404.txt"))
|
|
22
|
-
|
|
23
|
-
assert_raises CentrumFaktur::ResponseError do
|
|
24
|
-
CentrumFaktur::Invoice.destroy("/api/1.0/invoices/666/")
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|