kalibro_configuration_steps.rb
4.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Given(/^I am at the All Configurations page$/) do
visit kalibro_configurations_path
end
Given(/^I am at the New Configuration page$/) do
visit new_kalibro_configuration_path
end
Given(/^I have a configuration named "(.*?)"$/) do |name|
@kalibro_configuration = FactoryGirl.create(:kalibro_configuration, {name: name})
end
Given(/^I have a sample configuration$/) do
@kalibro_configuration = FactoryGirl.create(:kalibro_configuration)
FactoryGirl.create(:kalibro_configuration_attributes, user_id: FactoryGirl.create(:another_user).id, kalibro_configuration_id: @kalibro_configuration.id)
end
Given(/^I own a sample configuration$/) do
@kalibro_configuration = FactoryGirl.create(:kalibro_configuration)
FactoryGirl.create(:kalibro_configuration_attributes, {id: nil, user_id: @user.id, kalibro_configuration_id: @kalibro_configuration.id})
end
Given(/^I am at the Sample Configuration page$/) do
visit kalibro_configuration_path(id: @kalibro_configuration.id)
end
Given(/^I am at the sample configuration edit page$/) do
visit edit_kalibro_configuration_path(id: @kalibro_configuration.id)
end
Given(/^I own a configuration named "(.*?)"$/) do |name|
@kalibro_configuration = FactoryGirl.create(:kalibro_configuration, {name: name})
FactoryGirl.create(:kalibro_configuration_attributes, {id: nil, user_id: @user.id, kalibro_configuration_id: @kalibro_configuration.id})
end
Given(/^I have a sample configuration with ruby native metrics$/) do
@kalibro_configuration = FactoryGirl.create(:kalibro_configuration, name: 'Sample Ruby Configuration')
FactoryGirl.create(:kalibro_configuration_attributes, {id: nil, user_id: @user.id, kalibro_configuration_id: @kalibro_configuration.id})
reading_group = FactoryGirl.create(:reading_group)
reading = FactoryGirl.create(:reading, {reading_group_id: reading_group.id})
metric_configuration = FactoryGirl.create(:metric_configuration,
{metric: FactoryGirl.build(:pain),
reading_group_id: reading_group.id,
kalibro_configuration_id: @kalibro_configuration.id})
range = FactoryGirl.build(:kalibro_range, {reading_id: reading.id, beginning: '-INF', :end => 'INF', metric_configuration_id: metric_configuration.id})
range.save
end
When(/^I visit the sample configuration edit page$/) do
visit edit_kalibro_configuration_path(id: @kalibro_configuration.id)
end
Then(/^I should be in the Edit Configuration page$/) do
expect(page).to have_content("Edit Configuration")
end
Then(/^The field "(.*?)" should be filled with the sample configuration "(.*?)"$/) do |field, value|
expect(page.find_field(field).value).to eq(@kalibro_configuration.send(value))
end
Then(/^I should be in the All configurations page$/) do
expect(page).to have_content("Configurations")
end
Then(/^the sample configuration should not be there$/) do
expect(@kalibro_configuration.attributes).to be_nil
expect { KalibroConfiguration.find(@kalibro_configuration.id) }.to raise_error
end
Then(/^the sample configuration should be there$/) do
expect(page).to have_content(@kalibro_configuration.name)
expect(page).to have_content(@kalibro_configuration.description)
end
Given(/^there is a public configuration created$/) do
@public_kc = FactoryGirl.create(:public_kalibro_configuration)
FactoryGirl.create(:kalibro_configuration_attributes, kalibro_configuration_id: @public_kc.id)
end
Given(/^there is a private configuration created$/) do
@private_kc = FactoryGirl.create(:another_kalibro_configuration)
FactoryGirl.create(:kalibro_configuration_attributes, :private, kalibro_configuration_id: @private_kc.id, user: FactoryGirl.create(:another_user, id: nil, email: "private@email.com"))
end
Then(/^the public configuration should be there$/) do
expect(page).to have_content(@public_kc.name)
expect(page).to have_content(@public_kc.description)
end
Then(/^the private configuration should not be there$/) do
expect(page).to have_no_content(@private_kc.name)
expect(page).to have_no_content(@private_kc.description)
end