mezuro_steps.rb
2.62 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
When /^I create a Mezuro (project|reading group) with the following data$/ do |type, fields|
click_link ("Mezuro " + type)
fields.rows_hash.each do |name, value|
When %{I fill in "#{name}" with "#{value}"}
end
click_button "Save"
Article.find_by_name(fields.rows_hash[:Title])
end
When /^I create a Mezuro configuration with the following data$/ do |fields|
click_link ("Mezuro configuration")
fields.rows_hash.each do |name, value|
if name != "Clone"
When %{I fill in "#{name}" with "#{value}"}
end
end
click_button "Save"
Article.find_by_name(fields.rows_hash[:Title])
end
Then /^I directly delete content with name "([^\"]*)" for testing purposes$/ do |content_name|
Article.find_by_name(content_name).destroy
end
Then /^I should be at the url "([^\"]*)"$/ do |url|
if response.class.to_s == 'Webrat::SeleniumResponse'
URI.parse(response.selenium.get_location).path.should == url
else
URI.parse(current_url).path.should == url
end
end
Then /^the field "([^"]*)" is empty$/ do |field_name|
find_field(field_name).value.should be_nil
end
Then /^I should see "([^\"]*)" inside an alert$/ do |message|
alert = page.driver.browser.switch_to.alert
assert_equal message, alert.text
alert.accept
end
Then /^I should see "([^"]*)" in the "([^"]*)" input$/ do |content, labeltext|
find_field(labeltext).value.should == content
end
Then /^I should see "([^"]*)" button$/ do |button_name|
find_button(button_name).should_not be_nil
end
Then /^I should see "([^"]*)" in a link$/ do |link_name|
find_link(link_name).should_not be_nil
end
Then /^I should not see "([^"]*)" button$/ do |button_name|
find_button(button_name).should be_nil
end
When /^I have a Mezuro (project|reading group|configuration) with the following data$/ do |type,fields|
item = {}
fields.rows_hash.each do |name, value|
if(name=="user" or name=="community")
item.merge!(:profile=>Profile[value])
else
item.merge!(name => value)
end
end
if (type == "project")
result = MezuroPlugin::ProjectContent.new(item)
elsif (type == "reading group")
result = MezuroPlugin::ReadingGroupContent.new(item)
elsif (type == "configuration")
result = MezuroPlugin::ConfigurationContent.new(item)
end
result.save!
end
When /^I erase the "([^"]*)" field$/ do |field_name|
find_field(field_name).set ""
end
When /^I fill the fields with the new following data$/ do |fields|
fields.rows_hash.each do |key, value|
name = key.to_s
element = find_field(name)
if element.tag_name.to_s == "select"
select(value, :from => name)
else
element.set value
end
end
end