diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-03-14 10:16:27 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-03-14 10:16:27 +0200 |
commit | ef05423f47fdd970498d880cf18f282fa0205596 (patch) | |
tree | e796066289a955ffa87863c8b6160f6cd83b5607 /features | |
parent | 10f14136f570863c2898f429c936de6c0114206a (diff) | |
download | gitlab-ce-ef05423f47fdd970498d880cf18f282fa0205596.tar.gz |
Finish select2-ajax for users. Added Select2Helper for tests
Diffstat (limited to 'features')
-rw-r--r-- | features/project/team_management.feature | 1 | ||||
-rw-r--r-- | features/steps/project/project_team_management.rb | 4 | ||||
-rw-r--r-- | features/steps/userteams/userteams.rb | 348 | ||||
-rw-r--r-- | features/support/env.rb | 2 | ||||
-rw-r--r-- | features/teams/team.feature | 1 |
5 files changed, 180 insertions, 176 deletions
diff --git a/features/project/team_management.feature b/features/project/team_management.feature index d106a543e80..04545a08e0a 100644 --- a/features/project/team_management.feature +++ b/features/project/team_management.feature @@ -11,6 +11,7 @@ Feature: Project Team management Then I should be able to see myself in team And I should see "Sam" in team list + @javascript Scenario: Add user to project Given I click link "New Team Member" And I select "Mike" as "Reporter" diff --git a/features/steps/project/project_team_management.rb b/features/steps/project/project_team_management.rb index 49e9a93fb43..e8e054350dd 100644 --- a/features/steps/project/project_team_management.rb +++ b/features/steps/project/project_team_management.rb @@ -2,6 +2,7 @@ class ProjectTeamManagement < Spinach::FeatureSteps include SharedAuthentication include SharedProject include SharedPaths + include Select2Helper Then 'I should be able to see myself in team' do page.should have_content(@user.name) @@ -20,8 +21,9 @@ class ProjectTeamManagement < Spinach::FeatureSteps And 'I select "Mike" as "Reporter"' do user = User.find_by_name("Mike") + + select2(user.id, from: "#user_ids", multiple: true) within "#new_team_member" do - select "#{user.name} (#{user.username})", :from => "user_ids" select "Reporter", :from => "project_access" end click_button "Add users" diff --git a/features/steps/userteams/userteams.rb b/features/steps/userteams/userteams.rb index e467a170951..f0494315767 100644 --- a/features/steps/userteams/userteams.rb +++ b/features/steps/userteams/userteams.rb @@ -2,238 +2,239 @@ class Userteams < Spinach::FeatureSteps include SharedAuthentication include SharedPaths include SharedProject + include Select2Helper - When 'I do not have teams with me' do - UserTeam.with_member(current_user).destroy_all - end + When 'I do not have teams with me' do + UserTeam.with_member(current_user).destroy_all + end - Then 'I should see dashboard page without teams info block' do - page.has_no_css?(".teams-box").must_equal true - end + Then 'I should see dashboard page without teams info block' do + page.has_no_css?(".teams-box").must_equal true + end - When 'I have teams with my membership' do - team = create :user_team, owner: current_user - team.add_member(current_user, UserTeam.access_roles["Master"], true) - end + When 'I have teams with my membership' do + team = create :user_team, owner: current_user + team.add_member(current_user, UserTeam.access_roles["Master"], true) + end - Then 'I should see dashboard page with teams information block' do - page.should have_css(".teams-box") - end + Then 'I should see dashboard page with teams information block' do + page.should have_css(".teams-box") + end - When 'exist user teams' do - team = create :user_team - team.add_member(current_user, UserTeam.access_roles["Master"], true) - end + When 'exist user teams' do + team = create :user_team + team.add_member(current_user, UserTeam.access_roles["Master"], true) + end - And 'I click on "All teams" link' do - click_link("All Teams") - end + And 'I click on "All teams" link' do + click_link("All Teams") + end - Then 'I should see "All teams" page' do - current_path.should == teams_path - end + Then 'I should see "All teams" page' do + current_path.should == teams_path + end - And 'I should see exist teams in teams list' do - team = UserTeam.last - find_in_list(".teams_list tr", team).must_equal true - end + And 'I should see exist teams in teams list' do + team = UserTeam.last + find_in_list(".teams_list tr", team).must_equal true + end - When 'I click to "New team" link' do - click_link("New Team") - end + When 'I click to "New team" link' do + click_link("New Team") + end - And 'I submit form with new team info' do - fill_in 'name', with: 'gitlab' + And 'I submit form with new team info' do + fill_in 'name', with: 'gitlab' - fill_in 'user_team_description', with: 'team description' - click_button 'Create team' - end + fill_in 'user_team_description', with: 'team description' + click_button 'Create team' + end - And 'I should see newly created team' do - page.should have_content "gitlab" - page.should have_content "team description" - end + And 'I should see newly created team' do + page.should have_content "gitlab" + page.should have_content "team description" + end - Then 'I should be redirected to new team page' do - team = UserTeam.last - current_path.should == team_path(team) - end + Then 'I should be redirected to new team page' do + team = UserTeam.last + current_path.should == team_path(team) + end - When 'I have teams with projects and members' do - team = create :user_team, owner: current_user - @project = create :project - team.add_member(current_user, UserTeam.access_roles["Master"], true) - team.assign_to_project(@project, UserTeam.access_roles["Master"]) - @event = create(:closed_issue_event, project: @project) - end + When 'I have teams with projects and members' do + team = create :user_team, owner: current_user + @project = create :project + team.add_member(current_user, UserTeam.access_roles["Master"], true) + team.assign_to_project(@project, UserTeam.access_roles["Master"]) + @event = create(:closed_issue_event, project: @project) + end - When 'I visit team page' do - visit team_path(UserTeam.last) - end + When 'I visit team page' do + visit team_path(UserTeam.last) + end - Then 'I should see projects list' do - page.should have_css(".projects_box") - projects_box = find(".projects_box") - projects_box.should have_content(@project.name) - end + Then 'I should see projects list' do + page.should have_css(".projects_box") + projects_box = find(".projects_box") + projects_box.should have_content(@project.name) + end - And 'project from team has issues assigned to me' do - team = UserTeam.last - team.projects.each do |project| - project.issues << create(:issue, assignee: current_user) - end + And 'project from team has issues assigned to me' do + team = UserTeam.last + team.projects.each do |project| + project.issues << create(:issue, assignee: current_user) end + end - When 'I visit team issues page' do - team = UserTeam.last - visit issues_team_path(team) - end + When 'I visit team issues page' do + team = UserTeam.last + visit issues_team_path(team) + end - Then 'I should see issues from this team assigned to me' do - team = UserTeam.last - team.projects.each do |project| - project.issues.assigned(current_user).each do |issue| - page.should have_content issue.title - end + Then 'I should see issues from this team assigned to me' do + team = UserTeam.last + team.projects.each do |project| + project.issues.assigned(current_user).each do |issue| + page.should have_content issue.title end end + end - Given 'I have team with projects and members' do - team = create :user_team, owner: current_user - project = create :project - user = create :user - team.add_member(current_user, UserTeam.access_roles["Master"], true) - team.add_member(user, UserTeam.access_roles["Developer"], false) - team.assign_to_project(project, UserTeam.access_roles["Master"]) - end + Given 'I have team with projects and members' do + team = create :user_team, owner: current_user + project = create :project + user = create :user + team.add_member(current_user, UserTeam.access_roles["Master"], true) + team.add_member(user, UserTeam.access_roles["Developer"], false) + team.assign_to_project(project, UserTeam.access_roles["Master"]) + end - Given 'project from team has issues assigned to teams members' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - project.issues << create(:issue, assignee: member) - end + Given 'project from team has issues assigned to teams members' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + project.issues << create(:issue, assignee: member) end end + end - Then 'I should see issues from this team assigned to teams members' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - project.issues.assigned(member).each do |issue| - page.should have_content issue.title - end + Then 'I should see issues from this team assigned to teams members' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + project.issues.assigned(member).each do |issue| + page.should have_content issue.title end end end + end - Given 'project from team has merge requests assigned to me' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - 3.times { project.merge_requests << create(:merge_request, assignee: member) } - end + Given 'project from team has merge requests assigned to me' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + 3.times { project.merge_requests << create(:merge_request, assignee: member) } end end + end - When 'I visit team merge requests page' do - team = UserTeam.last - visit merge_requests_team_path(team) - end + When 'I visit team merge requests page' do + team = UserTeam.last + visit merge_requests_team_path(team) + end - Then 'I should see merge requests from this team assigned to me' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - project.issues.assigned(member).each do |merge_request| - page.should have_content merge_request.title - end + Then 'I should see merge requests from this team assigned to me' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + project.issues.assigned(member).each do |merge_request| + page.should have_content merge_request.title end end end + end - Given 'project from team has merge requests assigned to team members' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - 3.times { project.merge_requests << create(:merge_request, assignee: member) } - end + Given 'project from team has merge requests assigned to team members' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + 3.times { project.merge_requests << create(:merge_request, assignee: member) } end end + end - Then 'I should see merge requests from this team assigned to me' do - team = UserTeam.last - team.projects.each do |project| - team.members.each do |member| - project.issues.assigned(member).each do |merge_request| - page.should have_content merge_request.title - end + Then 'I should see merge requests from this team assigned to me' do + team = UserTeam.last + team.projects.each do |project| + team.members.each do |member| + project.issues.assigned(member).each do |merge_request| + page.should have_content merge_request.title end end end + end - Given 'I have new user "John"' do - create :user, name: "John" - end + Given 'I have new user "John"' do + create :user, name: "John" + end - When 'I visit team people page' do - team = UserTeam.last - visit team_members_path(team) - end + When 'I visit team people page' do + team = UserTeam.last + visit team_members_path(team) + end - And 'I select user "John" from list with role "Reporter"' do - user = User.find_by_name("John") - within "#team_members" do - select "#{user.name} (#{user.username})", from: "user_ids" - select "Reporter", from: "default_project_access" - end - click_button "Add" + And 'I select user "John" from list with role "Reporter"' do + user = User.find_by_name("John") + select2(user.id, from: "#user_ids", multiple: true) + within "#team_members" do + select "Reporter", from: "default_project_access" end + click_button "Add" + end - Then 'I should see user "John" in team list' do - user = User.find_by_name("John") - team_members_list = find(".team-table") - team_members_list.should have_content user.name - end + Then 'I should see user "John" in team list' do + user = User.find_by_name("John") + team_members_list = find(".team-table") + team_members_list.should have_content user.name + end - And 'I have my own project without teams' do - @project = create :project, namespace: current_user.namespace - end + And 'I have my own project without teams' do + @project = create :project, namespace: current_user.namespace + end - And 'I visit my team page' do - team = UserTeam.where(owner_id: current_user.id).last - visit team_path(team) - end + And 'I visit my team page' do + team = UserTeam.where(owner_id: current_user.id).last + visit team_path(team) + end - When 'I click on link "Projects"' do - click_link "Projects" - end + When 'I click on link "Projects"' do + click_link "Projects" + end - And 'I click link "Assign project to Team"' do - click_link "Assign project to Team" - end + And 'I click link "Assign project to Team"' do + click_link "Assign project to Team" + end - Then 'I should see form with my own project in avaliable projects list' do - projects_select = find("#project_ids") - projects_select.should have_content(@project.name) - end + Then 'I should see form with my own project in avaliable projects list' do + projects_select = find("#project_ids") + projects_select.should have_content(@project.name) + end - When 'I submit form with selected project and max access' do - within "#assign_projects" do - select @project.name_with_namespace, from: "project_ids" - select "Reporter", from: "greatest_project_access" - end - click_button "Add" + When 'I submit form with selected project and max access' do + within "#assign_projects" do + select @project.name_with_namespace, from: "project_ids" + select "Reporter", from: "greatest_project_access" end + click_button "Add" + end - Then 'I should see my own project in team projects list' do - projects = find(".projects-table") - projects.should have_content(@project.name) - end + Then 'I should see my own project in team projects list' do + projects = find(".projects-table") + projects.should have_content(@project.name) + end - When 'I click link "New Team Member"' do - click_link "New Team Member" - end + When 'I click link "New Team Member"' do + click_link "New Team Member" + end protected @@ -257,5 +258,4 @@ class Userteams < Spinach::FeatureSteps end entered end - end diff --git a/features/support/env.rb b/features/support/env.rb index 03521afb9a1..6f1e4df39fc 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -14,7 +14,7 @@ require 'spinach/capybara' require 'sidekiq/testing/inline' -%w(stubbed_repository valid_commit).each do |f| +%w(stubbed_repository valid_commit select2_helper).each do |f| require Rails.root.join('spec', 'support', f) end diff --git a/features/teams/team.feature b/features/teams/team.feature index e15e3f0640d..5b7c15a86e5 100644 --- a/features/teams/team.feature +++ b/features/teams/team.feature @@ -46,6 +46,7 @@ Feature: UserTeams When I visit team merge requests page Then I should see merge requests from this team assigned to me + @javascript Scenario: I should add user to projects in Team Given I have team with projects and members Given I have new user "John" |