tracker_api 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/tracker_api/resources/story.rb +1 -1
- data/lib/tracker_api/version.rb +1 -1
- data/test/story_test.rb +16 -0
- data/test/vcr/cassettes/get_story_no_existing_labels.json +1 -0
- data/test/vcr/cassettes/save_previously_no_label_story_with_new_label.json +1 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e04aedc8708304e386bbe7903a4131de2ca092d8
|
4
|
+
data.tar.gz: 2afa59b30acd497e994dd334275506e5d89e093d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36f26c84ab4c2dca14d8d5ebc177bf09b317eaf556308495972eec5128287048290abc9ec877c8715bf2990ae261a4ae495c3930ea301cb086bfda7378cbbc97
|
7
|
+
data.tar.gz: d7f09db0d13b324ba48cb0edcf32aa749288791487b25da7beb18aecc537253e8b383ab73fdf7688eca2cd8680df61862769bf76922081fc1a40e476a03916d6
|
data/README.md
CHANGED
@@ -74,7 +74,7 @@ module TrackerApi
|
|
74
74
|
end
|
75
75
|
|
76
76
|
# Use attribute writer to get coercion and dirty tracking.
|
77
|
-
self.labels =
|
77
|
+
self.labels = (labels ? labels.dup : []).push(new_label)
|
78
78
|
end
|
79
79
|
|
80
80
|
# Provides a list of all the activity performed on the story.
|
data/lib/tracker_api/version.rb
CHANGED
data/test/story_test.rb
CHANGED
@@ -7,6 +7,7 @@ describe TrackerApi::Resources::Story do
|
|
7
7
|
let(:project) { VCR.use_cassette('get project') { client.project(project_id) } }
|
8
8
|
let(:story_id) { '66728004' }
|
9
9
|
let(:another_story_id) { '66728000' }
|
10
|
+
let(:story_id_no_existing_labels) { '82330712' }
|
10
11
|
let(:story) { VCR.use_cassette('get story') { project.story(story_id) } }
|
11
12
|
|
12
13
|
it 'can update an existing story' do
|
@@ -50,6 +51,21 @@ describe TrackerApi::Resources::Story do
|
|
50
51
|
story.labels.map(&:name).must_include new_label_name
|
51
52
|
end
|
52
53
|
|
54
|
+
it 'can add new labels to an existing story without existing labels' do
|
55
|
+
story = VCR.use_cassette('get story no existing labels') { project.story(story_id_no_existing_labels) }
|
56
|
+
story.labels.must_be_nil
|
57
|
+
|
58
|
+
new_label_name = "super-special-label"
|
59
|
+
story.add_label(new_label_name)
|
60
|
+
|
61
|
+
VCR.use_cassette('save previously no label story with new label', record: :new_episodes) do
|
62
|
+
story.save
|
63
|
+
end
|
64
|
+
|
65
|
+
story.labels.wont_be_empty
|
66
|
+
story.labels.map(&:name).must_include new_label_name
|
67
|
+
end
|
68
|
+
|
53
69
|
it 'does not send unmodified fields when saving' do
|
54
70
|
story_with_one_change = TrackerApi::Resources::Story::UpdateRepresenter.new(TrackerApi::Resources::Story.new(name: "new_name"))
|
55
71
|
expected_json = MultiJson.dump({name: "new_name"})
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/82330712","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.2.1 (x86_64-darwin14; ruby) TrackerApi/1.4.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 19 Oct 2016 22:02:43 GMT"],"X-Tracker-Project-Version":["152"],"X-Request-Id":["0785925ab787c672fc149a4fc45a5a4c"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"c417249619fc699ecb6ef773d35cf7dd\""],"X-Runtime":["0.050834"],"X-Rack-Cache":["miss"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":82330712,\"created_at\":\"2014-11-08T00:23:58Z\",\"updated_at\":\"2015-01-27T00:35:58Z\",\"estimate\":1,\"story_type\":\"feature\",\"name\":\"Test story\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/82330712\",\"project_id\":1027488,\"owner_ids\":[1266316,1266314],\"labels\":[],\"owned_by_id\":1266316}"},"http_version":null},"recorded_at":"Wed, 19 Oct 2016 22:02:43 GMT"}],"recorded_with":"VCR 3.0.3"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/82330712","body":{"encoding":"UTF-8","string":"{\"labels\":[{\"name\":\"super-special-label\"}]}"},"headers":{"User-Agent":["Ruby/2.2.1 (x86_64-darwin14; ruby) TrackerApi/1.4.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 19 Oct 2016 22:03:47 GMT"],"X-Tracker-Project-Version":["153"],"X-Request-Id":["9309467ba390eac143a26031f9efcbcd"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"702ec0ceab01c6c09792aeba14f63817\""],"X-Runtime":["0.199548"],"X-Rack-Cache":["invalidate, pass"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":82330712,\"project_id\":1027488,\"name\":\"Test story\",\"story_type\":\"feature\",\"current_state\":\"started\",\"estimate\":1,\"requested_by_id\":1266314,\"owned_by_id\":1266316,\"owner_ids\":[1266316,1266314],\"labels\":[{\"kind\":\"label\",\"id\":14060665,\"project_id\":1027488,\"name\":\"super-special-label\",\"created_at\":\"2016-02-12T23:45:13Z\",\"updated_at\":\"2016-02-12T23:45:13Z\"}],\"created_at\":\"2014-11-08T00:23:58Z\",\"updated_at\":\"2016-10-19T22:03:47Z\",\"url\":\"https://www.pivotaltracker.com/story/show/82330712\"}"},"http_version":null},"recorded_at":"Wed, 19 Oct 2016 22:03:47 GMT"}],"recorded_with":"VCR 3.0.3"}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracker_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Forest Carlisle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -298,6 +298,7 @@ files:
|
|
298
298
|
- test/vcr/cassettes/get_story.json
|
299
299
|
- test/vcr/cassettes/get_story_activity.json
|
300
300
|
- test/vcr/cassettes/get_story_comments.json
|
301
|
+
- test/vcr/cassettes/get_story_no_existing_labels.json
|
301
302
|
- test/vcr/cassettes/get_story_owners.json
|
302
303
|
- test/vcr/cassettes/get_story_with_owners.json
|
303
304
|
- test/vcr/cassettes/get_story_with_tasks.json
|
@@ -308,6 +309,7 @@ files:
|
|
308
309
|
- test/vcr/cassettes/get_unscheduled_story.json
|
309
310
|
- test/vcr/cassettes/get_workspace.json
|
310
311
|
- test/vcr/cassettes/get_workspace_projects.json
|
312
|
+
- test/vcr/cassettes/save_previously_no_label_story_with_new_label.json
|
311
313
|
- test/vcr/cassettes/save_story.json
|
312
314
|
- test/vcr/cassettes/save_story_with_multiple_changes.json
|
313
315
|
- test/vcr/cassettes/save_story_with_new_label.json
|
@@ -374,6 +376,7 @@ test_files:
|
|
374
376
|
- test/vcr/cassettes/get_story.json
|
375
377
|
- test/vcr/cassettes/get_story_activity.json
|
376
378
|
- test/vcr/cassettes/get_story_comments.json
|
379
|
+
- test/vcr/cassettes/get_story_no_existing_labels.json
|
377
380
|
- test/vcr/cassettes/get_story_owners.json
|
378
381
|
- test/vcr/cassettes/get_story_with_owners.json
|
379
382
|
- test/vcr/cassettes/get_story_with_tasks.json
|
@@ -384,6 +387,7 @@ test_files:
|
|
384
387
|
- test/vcr/cassettes/get_unscheduled_story.json
|
385
388
|
- test/vcr/cassettes/get_workspace.json
|
386
389
|
- test/vcr/cassettes/get_workspace_projects.json
|
390
|
+
- test/vcr/cassettes/save_previously_no_label_story_with_new_label.json
|
387
391
|
- test/vcr/cassettes/save_story.json
|
388
392
|
- test/vcr/cassettes/save_story_with_multiple_changes.json
|
389
393
|
- test/vcr/cassettes/save_story_with_new_label.json
|