hookercookerman-amee 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +1 -0
- data/LICENSE.txt +20 -0
- data/Manifest.txt +79 -0
- data/README.rdoc +33 -0
- data/Rakefile +29 -0
- data/features/config.feature +22 -0
- data/features/data/data_category.feature +26 -0
- data/features/data/data_item.feature +19 -0
- data/features/data/data_item_value.feature +17 -0
- data/features/data/drill_down.feature +48 -0
- data/features/development.feature +13 -0
- data/features/profile/create.profile.feature +15 -0
- data/features/profile/create.profile_item.feature +12 -0
- data/features/profile/delete.profile.feature +12 -0
- data/features/profile/delete.profile_item.feature +13 -0
- data/features/profile/get.profile.feature +13 -0
- data/features/profile/profile_category.feature +14 -0
- data/features/profile/profile_item.feature +15 -0
- data/features/profile/profiles.feature +15 -0
- data/features/profile/update.profile_item.feature +14 -0
- data/features/session/reauthenticate.feature +16 -0
- data/features/step_definitions/amee_steps.rb +67 -0
- data/features/step_definitions/common_steps.rb +194 -0
- data/features/step_definitions/config_steps.rb +13 -0
- data/features/step_definitions/data_steps.rb +142 -0
- data/features/step_definitions/profile_category_steps.rb +23 -0
- data/features/step_definitions/profile_item_steps.rb +62 -0
- data/features/step_definitions/profile_steps.rb +41 -0
- data/features/support/amee/auth/response.json +11 -0
- data/features/support/amee/data.json +84 -0
- data/features/support/amee/data/transport/car/generic.json +3 -0
- data/features/support/amee/data/transport/car/generic/drill.json +66 -0
- data/features/support/amee/data/transport/car/generic/drill?fuel=diesel&size=large.json +55 -0
- data/features/support/amee/data/transport/car/generic/drill?fuel=diesel.json +59 -0
- data/features/support/amee/data/transport/plane/generic.json +225 -0
- data/features/support/amee/data/transport/plane/generic/FFC7A05D54AD.json +224 -0
- data/features/support/amee/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney.json +42 -0
- data/features/support/amee/data_category.json +84 -0
- data/features/support/amee/data_category_with_data_items.json +225 -0
- data/features/support/amee/profiles.json +73 -0
- data/features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157.json +190 -0
- data/features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157?distance=400&representation=true.json +190 -0
- data/features/support/amee/profiles/48B97680BCCF/home/energy/quantity/response.json +9 -0
- data/features/support/amee/profiles/7C7D68C2A7CD/home.json +65 -0
- data/features/support/amee/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B.json +201 -0
- data/features/support/amee/profiles/E0BCB3704D15.json +19 -0
- data/features/support/amee/profiles/E0BCB3704D15/Business.json +6 -0
- data/features/support/amee/profiles/profile.json +27 -0
- data/features/support/env.rb +24 -0
- data/init.rb +4 -0
- data/lib/amee.rb +37 -0
- data/lib/amee/config.rb +59 -0
- data/lib/amee/data_api/data_category.rb +50 -0
- data/lib/amee/data_api/data_item.rb +28 -0
- data/lib/amee/data_api/data_item_value.rb +13 -0
- data/lib/amee/data_api/drill_down.rb +23 -0
- data/lib/amee/data_api/item_definition.rb +11 -0
- data/lib/amee/data_api/item_value_definition.rb +13 -0
- data/lib/amee/data_api/value_definition.rb +10 -0
- data/lib/amee/logging.rb +43 -0
- data/lib/amee/model.rb +128 -0
- data/lib/amee/parser.rb +137 -0
- data/lib/amee/profile_api/profile.rb +39 -0
- data/lib/amee/profile_api/profile_category.rb +42 -0
- data/lib/amee/profile_api/profile_item.rb +47 -0
- data/lib/amee/service.rb +78 -0
- data/lib/amee/session.rb +222 -0
- data/lib/amee/utils/string.rb +11 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +71 -0
- data/spec/amee_spec.rb +1 -0
- data/spec/service_spec.rb +53 -0
- data/spec/session_spec.rb +45 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +19 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/yard.rake +4 -0
- metadata +184 -0
data/History.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
There is none
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Richard Hooker
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
History.txt
|
2
|
+
LICENSE.txt
|
3
|
+
Manifest.txt
|
4
|
+
README.rdoc
|
5
|
+
Rakefile
|
6
|
+
features/config.feature
|
7
|
+
features/data/data_category.feature
|
8
|
+
features/data/data_item.feature
|
9
|
+
features/data/data_item_value.feature
|
10
|
+
features/data/drill_down.feature
|
11
|
+
features/development.feature
|
12
|
+
features/profile/create.profile.feature
|
13
|
+
features/profile/create.profile_item.feature
|
14
|
+
features/profile/delete.profile.feature
|
15
|
+
features/profile/delete.profile_item.feature
|
16
|
+
features/profile/get.profile.feature
|
17
|
+
features/profile/profile_category.feature
|
18
|
+
features/profile/profile_item.feature
|
19
|
+
features/profile/profiles.feature
|
20
|
+
features/profile/update.profile_item.feature
|
21
|
+
features/session/reauthenticate.feature
|
22
|
+
features/step_definitions/amee_steps.rb
|
23
|
+
features/step_definitions/common_steps.rb
|
24
|
+
features/step_definitions/config_steps.rb
|
25
|
+
features/step_definitions/data_steps.rb
|
26
|
+
features/step_definitions/profile_category_steps.rb
|
27
|
+
features/step_definitions/profile_item_steps.rb
|
28
|
+
features/step_definitions/profile_steps.rb
|
29
|
+
features/support/amee/auth/response.json
|
30
|
+
features/support/amee/data.json
|
31
|
+
features/support/amee/data/transport/car/generic.json
|
32
|
+
features/support/amee/data/transport/car/generic/drill.json
|
33
|
+
features/support/amee/data/transport/car/generic/drill?fuel=diesel&size=large.json
|
34
|
+
features/support/amee/data/transport/car/generic/drill?fuel=diesel.json
|
35
|
+
features/support/amee/data/transport/plane/generic.json
|
36
|
+
features/support/amee/data/transport/plane/generic/FFC7A05D54AD.json
|
37
|
+
features/support/amee/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney.json
|
38
|
+
features/support/amee/data_category.json
|
39
|
+
features/support/amee/data_category_with_data_items.json
|
40
|
+
features/support/amee/profiles.json
|
41
|
+
features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157.json
|
42
|
+
features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157?distance=400&representation=true.json
|
43
|
+
features/support/amee/profiles/48B97680BCCF/home/energy/quantity/response.json
|
44
|
+
features/support/amee/profiles/7C7D68C2A7CD/home.json
|
45
|
+
features/support/amee/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B.json
|
46
|
+
features/support/amee/profiles/E0BCB3704D15.json
|
47
|
+
features/support/amee/profiles/E0BCB3704D15/Business.json
|
48
|
+
features/support/amee/profiles/profile.json
|
49
|
+
features/support/env.rb
|
50
|
+
init.rb
|
51
|
+
lib/amee.rb
|
52
|
+
lib/amee/config.rb
|
53
|
+
lib/amee/data_api/data_category.rb
|
54
|
+
lib/amee/data_api/data_item.rb
|
55
|
+
lib/amee/data_api/data_item_value.rb
|
56
|
+
lib/amee/data_api/drill_down.rb
|
57
|
+
lib/amee/data_api/item_definition.rb
|
58
|
+
lib/amee/data_api/item_value_definition.rb
|
59
|
+
lib/amee/data_api/value_definition.rb
|
60
|
+
lib/amee/logging.rb
|
61
|
+
lib/amee/model.rb
|
62
|
+
lib/amee/parser.rb
|
63
|
+
lib/amee/profile_api/profile.rb
|
64
|
+
lib/amee/profile_api/profile_category.rb
|
65
|
+
lib/amee/profile_api/profile_item.rb
|
66
|
+
lib/amee/service.rb
|
67
|
+
lib/amee/session.rb
|
68
|
+
lib/amee/utils/string.rb
|
69
|
+
script/console
|
70
|
+
script/destroy
|
71
|
+
script/generate
|
72
|
+
script/txt2html
|
73
|
+
spec/amee_spec.rb
|
74
|
+
spec/service_spec.rb
|
75
|
+
spec/session_spec.rb
|
76
|
+
spec/spec.opts
|
77
|
+
spec/spec_helper.rb
|
78
|
+
tasks/rspec.rake
|
79
|
+
tasks/yard.rake
|
data/README.rdoc
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
= Amee (Lets Cut Co2) By D50
|
2
|
+
|
3
|
+
= Docs
|
4
|
+
|
5
|
+
These are on the way; this is very early release; However have a look at the cucumber features
|
6
|
+
you should be able so see that most bases have been covered; Basically the more we use this
|
7
|
+
the more docs there will be
|
8
|
+
|
9
|
+
= Usage (More to come; If you are lucky and example rails app)
|
10
|
+
|
11
|
+
There is a config where login, cache and logging settings can be applied have a look at the config
|
12
|
+
model to see how one should use that.
|
13
|
+
|
14
|
+
Create a session ie @session = Amee::Session.create("blar", "blar")
|
15
|
+
And then use the session to get, put, post and delete on what you required from amee;
|
16
|
+
there are a set number of operations that are available to you currently but more will
|
17
|
+
be added
|
18
|
+
|
19
|
+
Some objects say like data_categories can be lazy loaded so you can do method calls like
|
20
|
+
|
21
|
+
data_category = @session.get_data_category("/data/home/appliances")
|
22
|
+
fridge = data_category.data_categories.first
|
23
|
+
|
24
|
+
if you wanted to know the data_categories for fridge just call data_categories on fridge it
|
25
|
+
will populated the fridge category automagically;
|
26
|
+
|
27
|
+
Cache - Simple to Start (using Moneta)
|
28
|
+
Therefore if u wish you can choose your cache store even memcache via leveraging Moneta
|
29
|
+
|
30
|
+
= TODOS
|
31
|
+
|
32
|
+
Pagination (should be simple enough just hook into will_paginate collections)
|
33
|
+
Other stuff when start to use amee api fully
|
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
%w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
|
2
|
+
require File.dirname(__FILE__) + '/lib/amee'
|
3
|
+
|
4
|
+
# Generate all the Rake tasks
|
5
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
6
|
+
$hoe = Hoe.new('amee', Amee::VERSION) do |p|
|
7
|
+
p.developer('Richard Hooker', 'richard.hooker@dynamic50.com')
|
8
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
9
|
+
p.rubyforge_name = p.name # TODO this is default value
|
10
|
+
# p.extra_deps = [
|
11
|
+
# ['activesupport','>= 2.0.2'],
|
12
|
+
# ]
|
13
|
+
p.extra_dev_deps = [
|
14
|
+
['newgem', ">= #{::Newgem::VERSION}"]
|
15
|
+
]
|
16
|
+
|
17
|
+
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
18
|
+
path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
|
19
|
+
p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
20
|
+
p.rsync_args = '-av --delete --ignore-errors'
|
21
|
+
end
|
22
|
+
|
23
|
+
require 'newgem/tasks' # load /tasks/*.rake
|
24
|
+
Dir['tasks/**/*.rake'].each { |t| load t }
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
# TODO - want other tests/tasks run by default? Add them to the list
|
29
|
+
task :default => [:spec, :features]
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: Amee can be configured
|
2
|
+
|
3
|
+
As a ruby developer
|
4
|
+
I want to set an Amee config
|
5
|
+
So that so Amee can run under a certain configurations
|
6
|
+
|
7
|
+
Scenario: defaults should be available if no config has been set
|
8
|
+
When I do not create a config
|
9
|
+
|
10
|
+
Then the amee config: "server" should be: "stage.amee.com"
|
11
|
+
And the amee config: "cache_store" should be: "Moneta::Memory"
|
12
|
+
And the amee config: "cache" should be: "true"
|
13
|
+
|
14
|
+
Scenario: server should be changed if I set a config with new server
|
15
|
+
When I set the: "server" on the amee config with: "prod.amee.com"
|
16
|
+
|
17
|
+
Then the amee config: "server" should be: "prod.amee.com"
|
18
|
+
And the amee config: "cache_store" should be: "Moneta::Memory"
|
19
|
+
And the amee config: "cache" should be: "true"
|
20
|
+
|
21
|
+
|
22
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Feature: Get Amee Category
|
2
|
+
In order to gain access to data information
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to get amee categories
|
5
|
+
|
6
|
+
Scenario: Get Amee category with path /data
|
7
|
+
Given I have a valid amee session
|
8
|
+
When I ask the session for: get_data_category with path: "/data"
|
9
|
+
|
10
|
+
Then the data category should have: "path" with: ""
|
11
|
+
And the data category should have: "name" with: "Root"
|
12
|
+
And the data category should have: "uid" with: "CD310BEBAC52"
|
13
|
+
And the data category's data_items should be nil
|
14
|
+
And the data category's data_categories should not be nil
|
15
|
+
|
16
|
+
Scenario: Get Amee category with path /data/transport/plane/generic
|
17
|
+
Given I have a valid amee session
|
18
|
+
When I ask the session for: get_data_category with path: "/data/transport/plane/generic"
|
19
|
+
|
20
|
+
Then the data category should have: "path" with: "generic"
|
21
|
+
And the data category should have: "resource_path" with: "/transport/plane/generic"
|
22
|
+
And the data category should have: "name" with: "Generic"
|
23
|
+
And the data category should have: "uid" with: "FBA97B70DBDF"
|
24
|
+
|
25
|
+
And the data category's data_items should not be empty
|
26
|
+
And the data category's data_categories should not be empty
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Feature: Get Amee DataItem
|
2
|
+
In order to gain access to data_item information so I can make loads of money from making
|
3
|
+
In order carbon calculators
|
4
|
+
As a amee developer
|
5
|
+
I want to be able to get amee data items
|
6
|
+
|
7
|
+
|
8
|
+
Scenario: Get Amee Date Item with path /data/transport/plane/generic/FFC7A05D54AD
|
9
|
+
Given I have a valid amee session
|
10
|
+
When I ask the session for: get_data_item with path: "/data/transport/plane/generic/FFC7A05D54AD"
|
11
|
+
|
12
|
+
Then the data item should have: "path" with: ""
|
13
|
+
And the data item should have: "name" with: "FFC7A05D54AD"
|
14
|
+
And the data item should have: "uid" with: "FFC7A05D54AD"
|
15
|
+
And the data item's item_values should not be nil
|
16
|
+
And the data item's choices should not be nil
|
17
|
+
|
18
|
+
And the data item's item_definition: drill_down should be "type,size"
|
19
|
+
And the data item's item_definition: name should be "Plane Generic"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Feature: Get Amee DataItemValue
|
2
|
+
In order to gain access to data_item_value information so I can make loads of money from making
|
3
|
+
In order carbon calculators
|
4
|
+
As a amee developer
|
5
|
+
I want to be able to get amee data item value
|
6
|
+
|
7
|
+
|
8
|
+
Scenario: Get Amee Date Item with path /data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney
|
9
|
+
Given I have a valid amee session
|
10
|
+
When I ask the session for: get_data_item_value with path: "/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney"
|
11
|
+
|
12
|
+
Then the data item value should have: "path" with: "kgCO2PerPassengerJourney"
|
13
|
+
And the data item value should have: "name" with: "kgCO2 Per Passenger Journey"
|
14
|
+
And the data item value should have: "uid" with: "C32B6E2EDCB0"
|
15
|
+
|
16
|
+
And the data item value's item_value_definition: uid should be "653828811D42"
|
17
|
+
And the data item value's item_value_definition: name should be "kgCO2 Per Passenger Journey"
|
@@ -0,0 +1,48 @@
|
|
1
|
+
Feature: Get Amee Drill Down
|
2
|
+
In order to gain the correct access to a data item
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to get amee drill down
|
5
|
+
|
6
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
7
|
+
Given I have a valid amee session
|
8
|
+
|
9
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
10
|
+
And I drill down with params: ""
|
11
|
+
|
12
|
+
Then the drill down should have: "choice_name" with: "fuel"
|
13
|
+
And the drill down's choices should not be empty
|
14
|
+
And the drill down's selections should be empty
|
15
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
16
|
+
And the drill down data category's should have: "name" with: "Generic"
|
17
|
+
And the drill down data category's should have: "path" with: "generic"
|
18
|
+
|
19
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
20
|
+
Given I have a valid amee session
|
21
|
+
|
22
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
23
|
+
And I drill down with params: "?fuel=diesel"
|
24
|
+
|
25
|
+
Then the drill down should have: "choice_name" with: "size"
|
26
|
+
And the drill down's choices should not be empty
|
27
|
+
And the drill down's selections should not be empty
|
28
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
29
|
+
And the drill down data category's should have: "name" with: "Generic"
|
30
|
+
And the drill down data category's should have: "path" with: "generic"
|
31
|
+
|
32
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
33
|
+
Given I have a valid amee session
|
34
|
+
|
35
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
36
|
+
And I drill down with params: "?fuel=diesel&size=large"
|
37
|
+
|
38
|
+
Then the drill down should have: "choice_name" with: "uid"
|
39
|
+
And the drill down should have: "data_item_uid" with: "4F6CBCEE95F7"
|
40
|
+
And the drill down should be uid_found
|
41
|
+
And the drill down's choices should not be empty
|
42
|
+
And the drill down's selections should not be empty
|
43
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
44
|
+
And the drill down data category's should have: "name" with: "Generic"
|
45
|
+
And the drill down data category's should have: "path" with: "generic"
|
46
|
+
|
47
|
+
|
48
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Feature: Development processes of newgem itself (rake tasks)
|
2
|
+
|
3
|
+
As a Newgem maintainer or contributor
|
4
|
+
I want rake tasks to maintain and release the gem
|
5
|
+
So that I can spend time on the tests and code, and not excessive time on maintenance processes
|
6
|
+
|
7
|
+
Scenario: Generate RubyGem
|
8
|
+
Given this project is active project folder
|
9
|
+
And 'pkg' folder is deleted
|
10
|
+
When task 'rake gem' is invoked
|
11
|
+
Then folder 'pkg' is created
|
12
|
+
And file with name matching 'pkg/*.gem' is created else you should run "rake manifest" to fix this
|
13
|
+
And gem spec key 'rdoc_options' contains /--mainREADME.rdoc/
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Feature: Creating a Profile
|
2
|
+
In order to keep a container for an object | user for calculating co2 emissions
|
3
|
+
As a amee developer
|
4
|
+
I want to be alble to create a profile
|
5
|
+
|
6
|
+
|
7
|
+
Scenario: Create a amee profile
|
8
|
+
Given I have a valid amee session
|
9
|
+
When I create an amee profile
|
10
|
+
Then I should have a valid amee profile
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature: Create Amee Profile Item
|
2
|
+
In order to add co2 data that then can be used to calculate cos2 emission
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to be albe to create profile data items
|
5
|
+
|
6
|
+
Scenario: Create Amee profile item with path /profiles/48B97680BCCF/home/energy/quantity
|
7
|
+
Given I have a valid amee session
|
8
|
+
|
9
|
+
# representation=full&energyConsumption=10&energyConsumptionUnit=kWh&dataItemUid=66056991EE23&energyConsumptionPerUnit=month&name=representation
|
10
|
+
When I create a profile item with uid: "48B97680BEGG" the path: "/profiles/48B97680BCCF/home/energy/quantity"
|
11
|
+
|
12
|
+
Then the location of the new should be: "whatever"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature: Deleting a Profile
|
2
|
+
In order to make sure we can delete stale data
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to delete a profile
|
5
|
+
|
6
|
+
Scenario: Delete an amee profile
|
7
|
+
Given I have a valid amee session
|
8
|
+
When I create an amee profile
|
9
|
+
When I delete that amme profile
|
10
|
+
|
11
|
+
Then the profile should no longer exist
|
12
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Feature: Deleting a Profile Item
|
2
|
+
In order to make sure we can delete stale profile items
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to delete a profile item
|
5
|
+
|
6
|
+
Scenario: Delete an amee profile
|
7
|
+
Given I have a valid amee session
|
8
|
+
And I profile exists with path "/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157"
|
9
|
+
|
10
|
+
When I delete the profile item
|
11
|
+
|
12
|
+
Then the profile item should no longer exist
|
13
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Feature: Get Amee Profiles
|
2
|
+
In order to gain access to profile information
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to get an amee profile
|
5
|
+
|
6
|
+
Scenario: Get Amee profile
|
7
|
+
Given I have a valid amee session
|
8
|
+
When I ask the session for: profile with: "E0BCB3704D15"
|
9
|
+
|
10
|
+
Then the amee profile should have: "uid" with: "E0BCB3704D15"
|
11
|
+
And the amee profile should have: "name" with: "E0BCB3704D15"
|
12
|
+
And the amee profile should have: "path" with: "E0BCB3704D15"
|
13
|
+
And the amee profile profile_categories should not be empty
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Feature: Get Amee Profile Category
|
2
|
+
In order to gain access to profile data category information
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to get profile data categories
|
5
|
+
|
6
|
+
Scenario: Get Amee profile category with path /profiles/E0BCB3704D15/Business
|
7
|
+
Given I have a valid amee session
|
8
|
+
When I ask the session for: get_profile_category with path: "/profiles/E0BCB3704D15/business"
|
9
|
+
|
10
|
+
Then the profile category should have: "total_amount_per_month" with: "0"
|
11
|
+
And the profile category should have: "resource_path" with: "/business"
|
12
|
+
And the profile category's profile_items should not be nil
|
13
|
+
And the profile category's profile_categories should not be nil
|
14
|
+
And the profile category's data_category should not be nil
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Feature: Getting Amee Profile Item
|
2
|
+
In order to gain access to profile item information which means we can keep
|
3
|
+
In order co2 histroy and calcuations and profit big time
|
4
|
+
As a amee developer
|
5
|
+
I want to be able to get profile items
|
6
|
+
|
7
|
+
Scenario: Get Amee profile item with path /profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B
|
8
|
+
Given I have a valid amee session
|
9
|
+
When I ask the session for: get_profile_item with path: "/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B"
|
10
|
+
|
11
|
+
Then the profile item should have: "amount_per_month" with: "2.055"
|
12
|
+
And the profile item should have: "resource_path" with: "/home/energy/quantity/920B54ED665B"
|
13
|
+
And the profile item should have: "valid_from" with: "20090301"
|
14
|
+
And the profile item should have: "end" with: "false"
|
15
|
+
And the profile item's item_values should not be nil
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Feature: Get Amee Profiles
|
2
|
+
In order to gain access to profile information
|
3
|
+
As a amee developer
|
4
|
+
I want to be able to get amee profiles
|
5
|
+
|
6
|
+
Scenario: Get Amee profiles
|
7
|
+
Given I have a valid amee session
|
8
|
+
When I ask the session for: profiles
|
9
|
+
Then there should be an amee profile with the uid of "B28A58B0E243"
|
10
|
+
And each amee profile should have a path, name, created, modified and uid
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|