uservoice-ruby 0.0.8 → 0.0.9
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/README.md +2 -2
- data/lib/uservoice/collection.rb +1 -1
- data/lib/uservoice/version.rb +1 -1
- data/spec/lib/uservoice/client_spec.rb +38 -1
- data/spec/lib/uservoice/collection_spec.rb +5 -5
- metadata +2 -2
data/README.md
CHANGED
@@ -62,7 +62,7 @@ begin
|
|
62
62
|
client = UserVoice::Client.new(USERVOICE_SUBDOMAIN, API_KEY, API_SECRET)
|
63
63
|
|
64
64
|
# Get users of a subdomain (requires trusted client, but no user)
|
65
|
-
users = client.
|
65
|
+
users = client.get_collection("/api/v1/users")
|
66
66
|
users.each do |user|
|
67
67
|
puts "User: \"#{user['name']}\", Profile URL: #{user['url']}"
|
68
68
|
end
|
@@ -80,7 +80,7 @@ begin
|
|
80
80
|
|
81
81
|
# Example request #2: Create a new private forum limited to only example.com email domain.
|
82
82
|
forum = owner_access_token.post("/api/v1/forums.json", :forum => {
|
83
|
-
:name => '
|
83
|
+
:name => 'Ruby Client Private Feedback',
|
84
84
|
:private => true,
|
85
85
|
:allow_by_email_domain => true,
|
86
86
|
:allowed_email_domains => [{:domain => 'example.com'}]
|
data/lib/uservoice/collection.rb
CHANGED
data/lib/uservoice/version.rb
CHANGED
@@ -20,6 +20,38 @@ describe UserVoice::Client do
|
|
20
20
|
end.should raise_error(UserVoice::Unauthorized)
|
21
21
|
end
|
22
22
|
|
23
|
+
it 'normal user_should be able to send message and send another ticket_message' do
|
24
|
+
pending 'Slow test disabled'
|
25
|
+
additional_comment = 'This is my latest comment on the issue'
|
26
|
+
user = subject.login_as('somebodythere@example.com')
|
27
|
+
owner = subject.login_as_owner
|
28
|
+
|
29
|
+
@ticket = user.post('/api/v1/tickets', :ticket => {
|
30
|
+
:subject => 'A new ticket has arrived in your console',
|
31
|
+
:message => 'My msg'
|
32
|
+
})['ticket']
|
33
|
+
p @ticket
|
34
|
+
|
35
|
+
p 'waiting spam review'
|
36
|
+
Kernel.sleep(3);
|
37
|
+
p 'posting response!'
|
38
|
+
p owner.post("/api/v1/tickets/#{@ticket['id']}/ticket_messages", :ticket_message => {
|
39
|
+
:text => 'Thanks for information!'
|
40
|
+
})
|
41
|
+
|
42
|
+
p 'sleeping 3s'
|
43
|
+
Kernel.sleep(3);
|
44
|
+
p 'posting followup'
|
45
|
+
|
46
|
+
subject.get("/api/v1/tickets/#{@ticket['id']}")['ticket']['state'].should == 'closed'
|
47
|
+
|
48
|
+
p user.post("/api/v1/tickets/#{@ticket['id']}/ticket_messages", :ticket_message => {
|
49
|
+
:text => additional_comment
|
50
|
+
})
|
51
|
+
subject.get("/api/v1/tickets/#{@ticket['id']}")['ticket']['state'].should == 'open'
|
52
|
+
subject.get("/api/v1/tickets/#{@ticket['id']}")['ticket']['messages'].first['body'].should == additional_comment
|
53
|
+
end
|
54
|
+
|
23
55
|
it "should be able to get access token as owner" do
|
24
56
|
subject.login_as_owner do |owner|
|
25
57
|
owner.get("/api/v1/users/current.json")['user']['roles']['owner'].should == true
|
@@ -173,6 +205,11 @@ describe UserVoice::Client do
|
|
173
205
|
my_token.get("/api/v1/users/current.json")
|
174
206
|
}.should raise_error(UserVoice::NotFound)
|
175
207
|
end
|
208
|
+
it 'should throw 404 if user not found' do
|
209
|
+
lambda {
|
210
|
+
subject.login_as_owner.get("/api/v1/users/2345871235")
|
211
|
+
}.should raise_error(UserVoice::NotFound)
|
212
|
+
end
|
176
213
|
|
177
214
|
it "should/be able to delete random user and login as him after that" do
|
178
215
|
somebody = subject.login_as('somebodythere@example.com')
|
@@ -192,7 +229,7 @@ describe UserVoice::Client do
|
|
192
229
|
|
193
230
|
# this recreates somebody
|
194
231
|
somebody = subject.login_as('somebodythere@example.com')
|
195
|
-
somebody.get("/api/v1/users/current.json")['user']['id'].
|
232
|
+
somebody.get("/api/v1/users/current.json")['user']['id'].should == regular_user['id']
|
196
233
|
end
|
197
234
|
|
198
235
|
it "should raise error with invalid email parameter" do
|
@@ -78,8 +78,8 @@ describe UserVoice::Collection do
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
context 'having a list with
|
82
|
-
ELEMENTS =
|
81
|
+
context 'having a list with 301 elements' do
|
82
|
+
ELEMENTS = 301 # 4 pages, one record in the last page
|
83
83
|
|
84
84
|
before do
|
85
85
|
@client = mock()
|
@@ -120,9 +120,9 @@ describe UserVoice::Collection do
|
|
120
120
|
end
|
121
121
|
|
122
122
|
it 'should the size defined by limit' do
|
123
|
-
collection = UserVoice::Collection.new(@client, '/api/v1/suggestions', :limit =>
|
124
|
-
collection.size.should ==
|
125
|
-
collection.last['id'].should ==
|
123
|
+
collection = UserVoice::Collection.new(@client, '/api/v1/suggestions', :limit => 137)
|
124
|
+
collection.size.should == 137
|
125
|
+
collection.last['id'].should == 137
|
126
126
|
end
|
127
127
|
|
128
128
|
it 'should get last element and array size with two api calls' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uservoice-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
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-10-
|
12
|
+
date: 2012-10-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|