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 | 8 | |
| 9 | 9 | def show |
| 10 | 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 | 11 | end |
| 17 | 12 | |
| 18 | 13 | def new |
| 19 | 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 | 15 | end |
| 26 | 16 | |
| 27 | 17 | def create |
| 28 | 18 | @team_member = UsersProject.new(params[:team_member]) |
| 29 | 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 | 21 | end |
| 41 | 22 | |
| 42 | 23 | def update |
| ... | ... | @@ -45,7 +26,12 @@ class TeamMembersController < ApplicationController |
| 45 | 26 | |
| 46 | 27 | respond_to do |format| |
| 47 | 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 | 35 | end |
| 50 | 36 | end |
| 51 | 37 | ... | ... |
spec/requests/team_members_spec.rb
| ... | ... | @@ -29,19 +29,37 @@ describe "TeamMembers" do |
| 29 | 29 | |
| 30 | 30 | describe "fill in" do |
| 31 | 31 | before do |
| 32 | - check "team_member_read" | |
| 33 | 32 | click_link "Select user" |
| 34 | 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 | 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 | 43 | it "should add new member to table" do |
| 41 | 44 | click_button "Save" |
| 45 | + @member = UsersProject.last | |
| 42 | 46 | |
| 43 | - page.should_not have_content("Add new member") | |
| 44 | 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 | 63 | end |
| 46 | 64 | end |
| 47 | 65 | end | ... | ... |