Commit a49aca64264c38d9a34747590ad1e33d4e9a0e26
Committed by
Paulo Meireles
1 parent
b6af682e
Exists in
master
and in
29 other branches
[Mezuro] More acceptance tests for repository feature.
Showing
2 changed files
with
96 additions
and
17 deletions
Show diff stats
features/step_definitions/mezuro_steps.rb
| ... | ... | @@ -60,11 +60,16 @@ Then /^I should see "([^"]*)" in the "([^"]*)" select$/ do |content, labeltext| |
| 60 | 60 | find_field(labeltext).value.strip.should == content #strip because have empty spaces around some options |
| 61 | 61 | end |
| 62 | 62 | |
| 63 | -Then /^I shoud see "([^"]*)" in the process period select field$/ do |content| | |
| 63 | +Then /^I should see "([^"]*)" in the process period select field$/ do |content| | |
| 64 | 64 | selected = MezuroPlugin::Helpers::ContentViewerHelper.periodicity_options.select { |option| option.first == content }.first |
| 65 | 65 | assert_equal selected.last, find_field("repository_process_period").value.to_i |
| 66 | 66 | end |
| 67 | 67 | |
| 68 | +Then /^I should see "([^"]*)" in the repository configuration select field$/ do |content| | |
| 69 | + selected = Kalibro::Configuration.all.select { |option| option.name == content }.first | |
| 70 | + assert_equal selected.id, find_field("repository_configuration_id").value.to_i | |
| 71 | +end | |
| 72 | + | |
| 68 | 73 | Then /^I should not see "([^"]*)" button$/ do |button_name| |
| 69 | 74 | find_button(button_name).should be_nil |
| 70 | 75 | end |
| ... | ... | @@ -91,7 +96,7 @@ When /^I have a Mezuro (project|reading group|configuration|repository) with the |
| 91 | 96 | puts Kalibro::Project.all.last.id |
| 92 | 97 | item.merge(:configuration_id => Kalibro::Configuration.all.last.id) |
| 93 | 98 | result = Kalibro::Repository.new(item) |
| 94 | - raise (result.save Kalibro::Project.all.last.id).inspect | |
| 99 | + result.save Kalibro::Project.all.last.id | |
| 95 | 100 | else |
| 96 | 101 | result.save! |
| 97 | 102 | end |
| ... | ... | @@ -113,8 +118,8 @@ When /^I fill the fields with the new following data$/ do |fields| |
| 113 | 118 | end |
| 114 | 119 | end |
| 115 | 120 | |
| 116 | -When /^I have a Mezuro metric configuration with previous created configuration and reading group/ do | |
| 117 | - Kalibro::MetricConfiguration.create({ | |
| 121 | +When /^I have a Mezuro metric configuration with previous created configuration and reading group$/ do | |
| 122 | + Kalibro::MetricConfiguration.create({ | |
| 118 | 123 | :code => 'amloc1', |
| 119 | 124 | :metric => {:name => 'Total Coupling Factor', :compound => "false", :scope => 'SOFTWARE', :language => ['JAVA']}, |
| 120 | 125 | :base_tool_name => "Analizo", |
| ... | ... | @@ -122,5 +127,14 @@ When /^I have a Mezuro metric configuration with previous created configuration |
| 122 | 127 | :aggregation_form => 'AVERAGE', |
| 123 | 128 | :reading_group_id => Kalibro::ReadingGroup.all.last.id, |
| 124 | 129 | :configuration_id => Kalibro::Configuration.all.last.id |
| 125 | - }) | |
| 130 | + }) | |
| 131 | +end | |
| 132 | + | |
| 133 | +When /^I follow the (edit|remove) link for "([^"]*)" repository$/ do |action,repository_name| | |
| 134 | + project_id = Kalibro::Project.all.last.id | |
| 135 | + repositories = Kalibro::Repository.repositories_of project_id | |
| 136 | + repository_id = repositories.select {|option| option.name == repository_name}.first.id | |
| 137 | + elements = all('a', :text => action.capitalize) | |
| 138 | + action_link = elements.select {|element| (/repository_id=#{repository_id}/ =~ element[:href]) }.first | |
| 139 | + action_link.click | |
| 126 | 140 | end | ... | ... |
plugins/mezuro/features/repository.feature
| ... | ... | @@ -81,7 +81,7 @@ Feature: Repository |
| 81 | 81 | And I press "Add" |
| 82 | 82 | Then I should see "Address does not match type GIT chosen." inside an alert |
| 83 | 83 | |
| 84 | - @selenium | |
| 84 | + @selenium-teste | |
| 85 | 85 | Scenario: I want to add a repository with valid attributes |
| 86 | 86 | Given I follow "Add Repository" |
| 87 | 87 | When I fill the fields with the new following data |
| ... | ... | @@ -100,9 +100,10 @@ Feature: Repository |
| 100 | 100 | And I should see "GIT" |
| 101 | 101 | And I should see "https://github.com/user/project.git" |
| 102 | 102 | And I should see "Sample Configuration" |
| 103 | + And I should see "Status" | |
| 103 | 104 | |
| 104 | 105 | #FIXME: create the step given I have repository... |
| 105 | - @selenium | |
| 106 | + @selenium-teste | |
| 106 | 107 | Scenario: I want to see the repository edit form |
| 107 | 108 | Given I follow "Add Repository" |
| 108 | 109 | And I fill the fields with the new following data |
| ... | ... | @@ -122,11 +123,11 @@ Feature: Repository |
| 122 | 123 | And I should see "Not Periodically" in the process period select field |
| 123 | 124 | And I should see "GIT" in the "repository_type" select |
| 124 | 125 | And I should see "https://github.com/user/project.git" in the "repository_address" input |
| 125 | - And I should see "Sample Configuration" in the "repository_configuration_id" select | |
| 126 | + And I should see "Sample Configuration" in the repository configuration select field | |
| 126 | 127 | |
| 127 | 128 | #FIXME: create the step given I have repository... |
| 128 | 129 | @selenium |
| 129 | - Scenario: I want to see the repository edit form | |
| 130 | + Scenario: I edit a Mezuro project with valid attributes | |
| 130 | 131 | Given I follow "Add Repository" |
| 131 | 132 | And I fill the fields with the new following data |
| 132 | 133 | | repository_name | My Name | |
| ... | ... | @@ -139,14 +140,23 @@ Feature: Repository |
| 139 | 140 | And I press "Add" |
| 140 | 141 | And I am on article "Sample Project" |
| 141 | 142 | When I follow "Edit" |
| 142 | - Then I should see "My Name" in the "repository_name" input | |
| 143 | - And I should see "My Description" in the "repository_description" input | |
| 144 | - And I should see "ISC License (ISC)" in the "repository_license" select | |
| 145 | - And I should see "Not Periodically" in the process period select field | |
| 146 | - And I should see "GIT" in the "repository_type" select | |
| 147 | - And I should see "https://github.com/user/project.git" in the "repository_address" input | |
| 148 | - And I should see "2" in the "repository_configuration_id" select | |
| 149 | - | |
| 143 | + And I fill the fields with the new following data | |
| 144 | + | repository_name | Another Name | | |
| 145 | + | repository_description | Another Description | | |
| 146 | + | repository_license | Apple Public Source License (APSL-2.0) | | |
| 147 | + | repository_process_period | Weekly | | |
| 148 | + | repository_type | SUBVERSION | | |
| 149 | + | repository_address | https://project.svn.sourceforge.net/svnroot/project | | |
| 150 | + | repository_configuration_id | Sample Configuration | | |
| 151 | + And I press "Add" | |
| 152 | + Then I should see "Another Name" | |
| 153 | + And I should see "Another Description" | |
| 154 | + And I should see "Apple Public Source License (APSL-2.0)" | |
| 155 | + And I should see "Weekly" | |
| 156 | + And I should see "SUBVERSION" | |
| 157 | + And I should see "https://project.svn.sourceforge.net/svnroot/project" | |
| 158 | + And I should see "Sample Configuration" | |
| 159 | + | |
| 150 | 160 | #FIXME: create the step given I have repository... |
| 151 | 161 | @selenium |
| 152 | 162 | Scenario: I try to edit a Mezuro project leaving empty its title |
| ... | ... | @@ -184,4 +194,59 @@ Feature: Repository |
| 184 | 194 | When I erase the "repository_address" field |
| 185 | 195 | And I press "Add" |
| 186 | 196 | Then I should see "Please fill all fields marked with (*)." inside an alert |
| 197 | + | |
| 198 | + #FIXME: create the step given I have repository... | |
| 199 | + @selenium | |
| 200 | + Scenario: I try to edit a repository with an existing repository name | |
| 201 | + Given I follow "Add Repository" | |
| 202 | + And I fill the fields with the new following data | |
| 203 | + | repository_name | My Name | | |
| 204 | + | repository_description | My Description | | |
| 205 | + | repository_license | ISC License (ISC) | | |
| 206 | + | repository_process_period | Not Periodically | | |
| 207 | + | repository_type | GIT | | |
| 208 | + | repository_address | https://github.com/user/project.git | | |
| 209 | + | repository_configuration_id | Sample Configuration | | |
| 210 | + And I press "Add" | |
| 211 | + And I am on article "Sample Project" | |
| 212 | + And I follow "Add Repository" | |
| 213 | + And I fill the fields with the new following data | |
| 214 | + | repository_name | Another Name | | |
| 215 | + | repository_description | Another Description | | |
| 216 | + | repository_license | Apple Public Source License (APSL-2.0) | | |
| 217 | + | repository_process_period | Weekly | | |
| 218 | + | repository_type | SUBVERSION | | |
| 219 | + | repository_address | https://project.svn.sourceforge.net/svnroot/project | | |
| 220 | + | repository_configuration_id | Sample Configuration | | |
| 221 | + And I press "Add" | |
| 222 | + And I am on article "Sample Project" | |
| 223 | + When I follow the edit link for "My Name" repository | |
| 224 | + And I fill the fields with the new following data | |
| 225 | + | repository_name | Another Name | | |
| 226 | + | repository_description | Another Description | | |
| 227 | + | repository_license | Apple Public Source License (APSL-2.0) | | |
| 228 | + | repository_process_period | Weekly | | |
| 229 | + | repository_type | SUBVERSION | | |
| 230 | + | repository_address | https://project.svn.sourceforge.net/svnroot/project | | |
| 231 | + | repository_configuration_id | Sample Configuration | | |
| 232 | + And I press "Add" | |
| 233 | + #Then I should see "Slug The title (article name) is already being used by another article, please use another title." | |
| 234 | + #FIXME fix this validation | |
| 235 | + | |
| 236 | + #FIXME: Need to define permissions? | |
| 237 | + @selenium | |
| 238 | + Scenario: I delete a Mezuro repository | |
| 239 | + Given I follow "Add Repository" | |
| 240 | + And I fill the fields with the new following data | |
| 241 | + | repository_name | My Name | | |
| 242 | + | repository_description | My Description | | |
| 243 | + | repository_license | ISC License (ISC) | | |
| 244 | + | repository_process_period | Not Periodically | | |
| 245 | + | repository_type | GIT | | |
| 246 | + | repository_address | https://github.com/user/project.git | | |
| 247 | + | repository_configuration_id | Sample Configuration | | |
| 248 | + And I press "Add" | |
| 249 | + And I am on article "Sample Project" | |
| 250 | + When I follow the remove link for "My Name" repository | |
| 251 | + And I should not see "My Name" | |
| 187 | 252 | ... | ... |