Commit 00290b9214e4dc4688e93c04489a7551da697ee6
1 parent
72d15cc7
Exists in
master
and in
4 other branches
test cov
Showing
2 changed files
with
29 additions
and
25 deletions
Show diff stats
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 |