Commit ecd462a606b1f9fc36a46daea95d09eddddd9e89
1 parent
ce9b8e7b
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 |