Commit 00290b9214e4dc4688e93c04489a7551da697ee6

Authored by gitlabhq
1 parent 72d15cc7

test cov

app/controllers/team_members_controller.rb
@@ -8,35 +8,16 @@ class TeamMembersController < ApplicationController @@ -8,35 +8,16 @@ class TeamMembersController < ApplicationController
8 8
9 def show 9 def show
10 @team_member = project.users_projects.find(params[:id]) 10 @team_member = project.users_projects.find(params[:id])
11 -  
12 - respond_to do |format|  
13 - format.html # show.html.erb  
14 - format.js  
15 - end  
16 end 11 end
17 12
18 def new 13 def new
19 @team_member = project.users_projects.new 14 @team_member = project.users_projects.new
20 -  
21 - respond_to do |format|  
22 - format.html # new.html.erb  
23 - format.js  
24 - end  
25 end 15 end
26 16
27 def create 17 def create
28 @team_member = UsersProject.new(params[:team_member]) 18 @team_member = UsersProject.new(params[:team_member])
29 @team_member.project = project 19 @team_member.project = project
30 -  
31 - respond_to do |format|  
32 - if @team_member.save  
33 - format.html { redirect_to @team_member, notice: 'Team member was successfully created.' }  
34 - format.js  
35 - else  
36 - format.html { render action: "new" }  
37 - format.js  
38 - end  
39 - end 20 + @team_member.save
40 end 21 end
41 22
42 def update 23 def update
@@ -45,7 +26,12 @@ class TeamMembersController < ApplicationController @@ -45,7 +26,12 @@ class TeamMembersController < ApplicationController
45 26
46 respond_to do |format| 27 respond_to do |format|
47 format.js 28 format.js
48 - format.html { redirect_to team_project_path(@project)} 29 + format.html do
  30 + unless @team_member.valid?
  31 + flash[:alert] = "User should have at least one role"
  32 + end
  33 + redirect_to team_project_path(@project)
  34 + end
49 end 35 end
50 end 36 end
51 37
spec/requests/team_members_spec.rb
@@ -29,19 +29,37 @@ describe "TeamMembers" do @@ -29,19 +29,37 @@ describe "TeamMembers" do
29 29
30 describe "fill in" do 30 describe "fill in" do
31 before do 31 before do
32 - check "team_member_read"  
33 click_link "Select user" 32 click_link "Select user"
34 click_link @user_1.name 33 click_link @user_1.name
35 - #select @user_1.name, :from => "team_member_user_id" 34 +
  35 + within "#team_member_new" do
  36 + check "team_member_read"
  37 + check "team_member_write"
  38 + end
36 end 39 end
37 40
38 - it { expect { click_button "Save" }.to change {UsersProject.count}.by(1) } 41 + it { expect { click_button "Save";sleep(1) }.to change {UsersProject.count}.by(1) }
39 42
40 it "should add new member to table" do 43 it "should add new member to table" do
41 click_button "Save" 44 click_button "Save"
  45 + @member = UsersProject.last
42 46
43 - page.should_not have_content("Add new member")  
44 page.should have_content @user_1.name 47 page.should have_content @user_1.name
  48 +
  49 + @member.read.should be_true
  50 + @member.write.should be_true
  51 + @member.admin.should be_false
  52 + end
  53 +
  54 + it "should not allow creation without access selected" do
  55 + within "#team_member_new" do
  56 + uncheck "team_member_read"
  57 + uncheck "team_member_write"
  58 + uncheck "team_member_admin"
  59 + end
  60 +
  61 + expect { click_button "Save" }.to_not change {UsersProject.count}
  62 + page.should have_content("Please choose at least one Role in the Access list")
45 end 63 end
46 end 64 end
47 end 65 end