g5_updatable 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/g5_updatable/location.rb +1 -0
- data/lib/g5_updatable/client_feed_processor.rb +1 -1
- data/lib/g5_updatable/locations_updater.rb +14 -2
- data/lib/g5_updatable/version.rb +1 -1
- data/spec/dummy/log/test.log +4274 -0
- data/spec/lib/g5_updatable/client_feed_processor_spec.rb +1 -1
- data/spec/lib/g5_updatable/locations_updater_spec.rb +34 -1
- data/spec/models/g5_updatable/location_spec.rb +7 -1
- metadata +4 -4
@@ -64,7 +64,7 @@ describe G5Updatable::ClientFeedProcessor do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "updates with the client's associated locations" do
|
67
|
-
expect(G5Updatable::LocationsUpdater).to have_received(:new).with(client
|
67
|
+
expect(G5Updatable::LocationsUpdater).to have_received(:new).with(client)
|
68
68
|
expect(locations_updater).to have_received(:update)
|
69
69
|
end
|
70
70
|
end
|
@@ -7,8 +7,14 @@ describe G5Updatable::LocationsUpdater do
|
|
7
7
|
client_uid: "client_uid",
|
8
8
|
name: "Location Name"} }
|
9
9
|
let(:g5_location) { G5FoundationClient::Location.new(properties) }
|
10
|
+
let(:g5_locations) { [g5_location] }
|
11
|
+
let(:g5_foundation_client) { G5FoundationClient::Client.new(urn: "urn", uid: "client_uid") }
|
10
12
|
|
11
|
-
let(:updater) { described_class.new(
|
13
|
+
let(:updater) { described_class.new(g5_foundation_client) }
|
14
|
+
|
15
|
+
before do
|
16
|
+
allow(g5_foundation_client).to receive(:locations) { g5_locations }
|
17
|
+
end
|
12
18
|
|
13
19
|
describe "#update" do
|
14
20
|
subject { G5Updatable::Location.first }
|
@@ -63,5 +69,32 @@ describe G5Updatable::LocationsUpdater do
|
|
63
69
|
expect(subject.reload.updated_at).to be > @original_updated_at
|
64
70
|
end
|
65
71
|
end
|
72
|
+
|
73
|
+
context "with no locations" do
|
74
|
+
let(:g5_locations) { [] }
|
75
|
+
|
76
|
+
before do
|
77
|
+
FactoryGirl.create(:location, uid: uid, urn: "another_urn", client_uid: "client_uid", name: "Location Name", properties: properties)
|
78
|
+
FactoryGirl.create(:location, uid: uid, urn: "some_urn", client_uid: "another_client_uid", name: "Location Name", properties: properties)
|
79
|
+
updater.update
|
80
|
+
end
|
81
|
+
|
82
|
+
it "deletes locations" do
|
83
|
+
expect(G5Updatable::Location.by_client_uid("client_uid").count).to eq(0)
|
84
|
+
expect(G5Updatable::Location.by_client_uid("another_client_uid").count).to eq(1)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "with an orphaned location" do
|
89
|
+
before do
|
90
|
+
FactoryGirl.create(:location, uid: "another_uid", urn: "dead_urn", client_uid: "client_uid")
|
91
|
+
updater.update
|
92
|
+
end
|
93
|
+
|
94
|
+
it "deletes locations" do
|
95
|
+
expect(G5Updatable::Location.by_urn("urn").by_client_uid("client_uid").count).to eq(1)
|
96
|
+
expect(G5Updatable::Location.by_urn("dead_urn").by_client_uid("client_uid").count).to eq(0)
|
97
|
+
end
|
98
|
+
end
|
66
99
|
end
|
67
100
|
end
|
@@ -28,7 +28,7 @@ describe G5Updatable::Location do
|
|
28
28
|
|
29
29
|
context "scopes" do
|
30
30
|
let!(:location) { FactoryGirl.create(:location) }
|
31
|
-
let!(:location2) {FactoryGirl.create(:location, client_uid: "something_else") }
|
31
|
+
let!(:location2) {FactoryGirl.create(:location, client_uid: "something_else", urn: "another_urn") }
|
32
32
|
|
33
33
|
describe ".by_client_uid" do
|
34
34
|
it "returns locations" do
|
@@ -42,5 +42,11 @@ describe G5Updatable::Location do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
+
describe ".by_urn" do
|
46
|
+
it "returns locations" do
|
47
|
+
expect(described_class.by_urn(location.urn)).to eq [location]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
45
51
|
end
|
46
52
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: g5_updatable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pg
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|