hookercookerman-amee 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -9,4 +9,5 @@ Feature: Create Amee Profile Item
|
|
9
9
|
# representation=full&energyConsumption=10&energyConsumptionUnit=kWh&dataItemUid=66056991EE23&energyConsumptionPerUnit=month&name=representation
|
10
10
|
When I create a profile item with uid: "48B97680BEGG" the path: "/profiles/48B97680BCCF/home/energy/quantity"
|
11
11
|
|
12
|
-
|
12
|
+
# need to redo
|
13
|
+
Then the profile item should have: "uid" with: "D47C465B8157"
|
@@ -19,21 +19,17 @@ Then(/^the profile item's (\S+) should not (?:be|have) (?:an? )?(.*)/) do |metho
|
|
19
19
|
end
|
20
20
|
|
21
21
|
When(/^I create a profile item with uid: \"(\S+)\" the path: \"(.*)\"/) do |uid, path|
|
22
|
-
FakeWeb.register_uri(:post, "http://stage.amee.com#{path}?type=dontmatter&dataItemUid=48B97680BEGG",
|
23
|
-
:
|
22
|
+
FakeWeb.register_uri(:post, "http://stage.amee.com#{path}?type=dontmatter&dataItemUid=48B97680BEGG&representation=full",
|
23
|
+
:file => File.join(AMEE_FIXTURE_PATH, "/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157.json")
|
24
24
|
)
|
25
|
-
@models["
|
26
|
-
end
|
27
|
-
|
28
|
-
Then(/^the location of the new should be: "(\S+)"/) do |value|
|
29
|
-
@models["create_profile_item"].should == value
|
25
|
+
@models["profile_item"] = @amee_session.create_profile_item(path, uid, :fields => {:type => "dontmatter"})
|
30
26
|
end
|
31
27
|
|
32
28
|
When(/^I update the profile item with: distance=400$/) do
|
33
29
|
FakeWeb.register_uri(:put, "http://stage.amee.com#{@models["profile_item"].full_path}?distance=400&representation=true",
|
34
30
|
:file => File.join(AMEE_FIXTURE_PATH, "#{@models["profile_item"].full_path.gsub(/^\//, "")}?distance=400&representation=true.json")
|
35
31
|
)
|
36
|
-
@models["profile_item"]
|
32
|
+
@models["profile_item"].update(:distance => 400)
|
37
33
|
end
|
38
34
|
|
39
35
|
Then(/^the profile item item_value: with name: \"Distance\" should have value: \"400\"$/) do
|
data/lib/amee.rb
CHANGED
@@ -19,8 +19,12 @@ module Amee
|
|
19
19
|
self.from_hash(hash, session)
|
20
20
|
end
|
21
21
|
|
22
|
-
def update(fields)
|
23
|
-
session.
|
22
|
+
def update(fields = {})
|
23
|
+
session.api_call(:put, "profile_item", self.full_path,
|
24
|
+
:query => fields.merge({:representation => true})) do |response|
|
25
|
+
populate_from_hash!(response)
|
26
|
+
end
|
27
|
+
self
|
24
28
|
end
|
25
29
|
|
26
30
|
def destroy
|
data/lib/amee/session.rb
CHANGED
@@ -153,7 +153,7 @@ module Amee
|
|
153
153
|
# @return [String] locaion of the new resource
|
154
154
|
def create_profile_item(path, uid, options = {})
|
155
155
|
@cache.clear
|
156
|
-
api_call(:post, "
|
156
|
+
api_call(:post, "profile_item", path,
|
157
157
|
:query => {:dataItemUid => uid, :representation => "full"}.merge(options[:fields])) do |response|
|
158
158
|
Amee::ProfileApi::ProfileItem.from_hash(response, self)
|
159
159
|
end
|