|
4 | 4 | let(:user) { FactoryGirl.create(:user) }
|
5 | 5 | let(:admin) { FactoryGirl.create(:user, :admin) }
|
6 | 6 | let(:project) { FactoryGirl.create(:project) }
|
| 7 | + let(:ticket) do |
| 8 | + FactoryGirl.create(:ticket, project: project, |
| 9 | + author: user) |
| 10 | + end |
7 | 11 |
|
8 | 12 | context "anonymous users" do
|
9 | 13 | scenario "cannot see the New Project link" do
|
|
38 | 42 | visit project_path(project)
|
39 | 43 | assert_no_link_for "Delete Project"
|
40 | 44 | end
|
| 45 | + |
| 46 | + scenario "New ticket link is shown to a user with permission" do |
| 47 | + define_permission!(user, "read", project) |
| 48 | + define_permission!(user, "write", project) |
| 49 | + visit project_path(project) |
| 50 | + assert_link_for "New Ticket" |
| 51 | + end |
| 52 | + |
| 53 | + scenario "New ticket link is hidden from a user without permission" do |
| 54 | + define_permission!(user, "read", project) |
| 55 | + visit project_path(project) |
| 56 | + assert_no_link_for "New Ticket" |
| 57 | + end |
| 58 | + |
| 59 | + scenario "Edit ticket link is shown to a user with permission" do |
| 60 | + ticket |
| 61 | + define_permission!(user, "read", project) |
| 62 | + define_permission!(user, "write", project) |
| 63 | + visit project_path(project) |
| 64 | + click_link ticket.title |
| 65 | + assert_link_for "Edit Ticket" |
| 66 | + end |
| 67 | + |
| 68 | + scenario "Edit ticket link is hidden from a user without permission" do |
| 69 | + ticket |
| 70 | + define_permission!(user, "read", project) |
| 71 | + visit project_path(project) |
| 72 | + click_link ticket.title |
| 73 | + assert_no_link_for "Edit Ticket" |
| 74 | + end |
| 75 | + |
| 76 | + scenario "Delete ticket link is shown to a user with permission" do |
| 77 | + ticket |
| 78 | + define_permission!(user, "read", project) |
| 79 | + define_permission!(user, "write", project) |
| 80 | + visit project_path(project) |
| 81 | + click_link ticket.title |
| 82 | + assert_link_for "Delete Ticket" |
| 83 | + end |
| 84 | + |
| 85 | + scenario "Delete ticket link is hidden from users without permission" do |
| 86 | + ticket |
| 87 | + define_permission!(user, "read", project) |
| 88 | + visit project_path(project) |
| 89 | + click_link ticket.title |
| 90 | + assert_no_link_for "Delete Ticket" |
| 91 | + end |
41 | 92 | end
|
42 | 93 |
|
43 | 94 | context "admin users" do
|
|
56 | 107 | visit project_path(project)
|
57 | 108 | assert_link_for "Delete Project"
|
58 | 109 | end
|
| 110 | + |
| 111 | + scenario "New ticket link is shown to admins" do |
| 112 | + visit project_path(project) |
| 113 | + assert_link_for "New Ticket" |
| 114 | + end |
| 115 | + |
| 116 | + scenario "Edit ticket link is shown to admins" do |
| 117 | + ticket |
| 118 | + visit project_path(project) |
| 119 | + click_link ticket.title |
| 120 | + assert_link_for "Edit Ticket" |
| 121 | + end |
| 122 | + |
| 123 | + scenario "Delete ticket link is shown to admins" do |
| 124 | + ticket |
| 125 | + visit project_path(project) |
| 126 | + click_link ticket.title |
| 127 | + assert_link_for "Delete Ticket" |
| 128 | + end |
59 | 129 | end
|
60 | 130 | end
|
0 commit comments