Commit 0727edd8a0c68b640b95fabce21472b04a806562

Authored by Dmitriy Zaporozhets
1 parent 3fe9d297

Removed issues,mr delete buttons. Refactored models

app/controllers/merge_requests_controller.rb
@@ -30,7 +30,7 @@ class MergeRequestsController < ApplicationController @@ -30,7 +30,7 @@ class MergeRequestsController < ApplicationController
30 else @merge_requests.opened 30 else @merge_requests.opened
31 end 31 end
32 32
33 - @merge_requests = @merge_requests.includes(:author, :project) 33 + @merge_requests = @merge_requests.includes(:author, :project).order("created_at desc")
34 end 34 end
35 35
36 def show 36 def show
app/models/key.rb
@@ -14,8 +14,6 @@ class Key < ActiveRecord::Base @@ -14,8 +14,6 @@ class Key < ActiveRecord::Base
14 14
15 before_save :set_identifier 15 before_save :set_identifier
16 before_validation :strip_white_space 16 before_validation :strip_white_space
17 - after_save :update_repository  
18 - after_destroy :repository_delete_key  
19 delegate :name, :email, :to => :user, :prefix => true 17 delegate :name, :email, :to => :user, :prefix => true
20 validate :unique_key 18 validate :unique_key
21 19
app/models/key_observer.rb 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +class KeyObserver < ActiveRecord::Observer
  2 + def after_save(key)
  3 + key.update_repository
  4 + end
  5 +
  6 + def after_destroy(key)
  7 + key.repository_delete_key
  8 + end
  9 +end
app/models/project.rb
@@ -3,19 +3,17 @@ require &quot;grit&quot; @@ -3,19 +3,17 @@ require &quot;grit&quot;
3 class Project < ActiveRecord::Base 3 class Project < ActiveRecord::Base
4 belongs_to :owner, :class_name => "User" 4 belongs_to :owner, :class_name => "User"
5 5
6 - has_many :events, :dependent => :destroy 6 + has_many :users, :through => :users_projects
  7 + has_many :events, :dependent => :destroy
7 has_many :merge_requests, :dependent => :destroy 8 has_many :merge_requests, :dependent => :destroy
8 - has_many :issues, :dependent => :destroy, :order => "position" 9 + has_many :issues, :dependent => :destroy, :order => "position"
9 has_many :users_projects, :dependent => :destroy 10 has_many :users_projects, :dependent => :destroy
10 - has_many :users, :through => :users_projects  
11 - has_many :notes, :dependent => :destroy  
12 - has_many :snippets, :dependent => :destroy  
13 - has_many :deploy_keys, :dependent => :destroy, :foreign_key => "project_id", :class_name => "Key"  
14 - has_many :web_hooks, :dependent => :destroy 11 + has_many :notes, :dependent => :destroy
  12 + has_many :snippets, :dependent => :destroy
  13 + has_many :deploy_keys, :dependent => :destroy, :foreign_key => "project_id", :class_name => "Key"
  14 + has_many :web_hooks, :dependent => :destroy
  15 + has_many :wikis, :dependent => :destroy
15 has_many :protected_branches, :dependent => :destroy 16 has_many :protected_branches, :dependent => :destroy
16 - has_many :wikis, :dependent => :destroy  
17 -  
18 - acts_as_taggable  
19 17
20 validates :name, 18 validates :name,
21 :uniqueness => true, 19 :uniqueness => true,
@@ -39,15 +37,10 @@ class Project &lt; ActiveRecord::Base @@ -39,15 +37,10 @@ class Project &lt; ActiveRecord::Base
39 :message => "only letters, digits & '_' '-' '.' allowed" }, 37 :message => "only letters, digits & '_' '-' '.' allowed" },
40 :length => { :within => 3..255 } 38 :length => { :within => 3..255 }
41 39
42 - validates :owner,  
43 - :presence => true  
44 - 40 + validates :owner, :presence => true
45 validate :check_limit 41 validate :check_limit
46 validate :repo_name 42 validate :repo_name
47 43
48 - after_destroy :destroy_repository  
49 - after_save :update_repository  
50 -  
51 attr_protected :private_flag, :owner_id 44 attr_protected :private_flag, :owner_id
52 45
53 scope :public_only, where(:private_flag => false) 46 scope :public_only, where(:private_flag => false)
@@ -163,18 +156,6 @@ class Project &lt; ActiveRecord::Base @@ -163,18 +156,6 @@ class Project &lt; ActiveRecord::Base
163 users_projects.find_by_user_id(user_id) 156 users_projects.find_by_user_id(user_id)
164 end 157 end
165 158
166 - def fresh_merge_requests(n)  
167 - merge_requests.includes(:project, :author).order("created_at desc").first(n)  
168 - end  
169 -  
170 - def fresh_issues(n)  
171 - issues.includes(:project, :author).order("created_at desc").first(n)  
172 - end  
173 -  
174 - def fresh_notes(n)  
175 - notes.inc_author_project.order("created_at desc").first(n)  
176 - end  
177 -  
178 def common_notes 159 def common_notes
179 notes.where(:noteable_type => ["", nil]).inc_author_project 160 notes.where(:noteable_type => ["", nil]).inc_author_project
180 end 161 end
@@ -277,9 +258,7 @@ class Project &lt; ActiveRecord::Base @@ -277,9 +258,7 @@ class Project &lt; ActiveRecord::Base
277 end 258 end
278 259
279 def last_activity 260 def last_activity
280 - events.last  
281 - rescue  
282 - nil 261 + events.last || nil
283 end 262 end
284 263
285 def last_activity_date 264 def last_activity_date
@@ -294,43 +273,6 @@ class Project &lt; ActiveRecord::Base @@ -294,43 +273,6 @@ class Project &lt; ActiveRecord::Base
294 last_activity_date 273 last_activity_date
295 end 274 end
296 275
297 - # Get project updates from cache  
298 - # or calculate.  
299 - def cached_updates(limit, expire = 2.minutes)  
300 - activities_key = "project_#{id}_activities"  
301 - cached_activities = Rails.cache.read(activities_key)  
302 - if cached_activities  
303 - activities = cached_activities  
304 - else  
305 - activities = updates(limit)  
306 - Rails.cache.write(activities_key, activities, :expires_in => expire)  
307 - end  
308 -  
309 - activities  
310 - end  
311 -  
312 - # Get 20 events for project like  
313 - # commits, issues or notes  
314 - def updates(n = 3)  
315 - [  
316 - fresh_commits(n),  
317 - fresh_issues(n),  
318 - fresh_notes(n)  
319 - ].compact.flatten.sort do |x, y|  
320 - y.created_at <=> x.created_at  
321 - end[0...n]  
322 - end  
323 -  
324 - def activities(n=3)  
325 - [  
326 - fresh_issues(n),  
327 - fresh_merge_requests(n),  
328 - notes.inc_author_project.where("noteable_type is not null").order("created_at desc").first(n)  
329 - ].compact.flatten.sort do |x, y|  
330 - y.created_at <=> x.created_at  
331 - end[0...n]  
332 - end  
333 -  
334 def check_limit 276 def check_limit
335 unless owner.can_create_project? 277 unless owner.can_create_project?
336 errors[:base] << ("Your own projects limit is #{owner.projects_limit}! Please contact administrator to increase it") 278 errors[:base] << ("Your own projects limit is #{owner.projects_limit}! Please contact administrator to increase it")
app/models/project_observer.rb 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +class ProjectObserver < ActiveRecord::Observer
  2 + def after_save(project)
  3 + project.update_repository
  4 + end
  5 +
  6 + def after_destroy(project)
  7 + project.destroy_repository
  8 + end
  9 +end
app/views/issues/_form.html.haml
@@ -9,6 +9,10 @@ @@ -9,6 +9,10 @@
9 %li= msg 9 %li= msg
10 10
11 .clearfix 11 .clearfix
  12 + = f.label :title
  13 + .input= f.text_area :title, :maxlength => 255, :class => "xxlarge"
  14 +
  15 + .clearfix
12 = f.label :assignee_id 16 = f.label :assignee_id
13 .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }) 17 .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" })
14 18
@@ -21,9 +25,6 @@ @@ -21,9 +25,6 @@
21 = f.label :closed 25 = f.label :closed
22 .input= f.check_box :closed 26 .input= f.check_box :closed
23 27
24 - .clearfix  
25 - = f.label :title  
26 - .input= f.text_area :title, :maxlength => 255, :class => "xxlarge"  
27 .actions 28 .actions
28 = f.submit 'Save', :class => "primary btn" 29 = f.submit 'Save', :class => "primary btn"
29 30
@@ -34,8 +35,3 @@ @@ -34,8 +35,3 @@
34 = link_to "Cancel", project_issues_path(@project), :class => "btn" 35 = link_to "Cancel", project_issues_path(@project), :class => "btn"
35 - else 36 - else
36 = link_to "Cancel", project_issue_path(@project, @issue), :class => "btn" 37 = link_to "Cancel", project_issue_path(@project, @issue), :class => "btn"
37 -  
38 -  
39 - - unless @issue.new_record?  
40 - .right  
41 - = link_to 'Remove', [@project, @issue], :confirm => 'Are you sure?', :method => :delete, :class => "danger btn"  
app/views/issues/_show.html.haml
@@ -6,8 +6,6 @@ @@ -6,8 +6,6 @@
6 - else 6 - else
7 = link_to 'Resolve', project_issue_path(issue.project, issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "success btn small", :remote => true 7 = link_to 'Resolve', project_issue_path(issue.project, issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "success btn small", :remote => true
8 = link_to 'Edit', edit_project_issue_path(issue.project, issue), :class => "btn small edit-issue-link", :remote => true 8 = link_to 'Edit', edit_project_issue_path(issue.project, issue), :class => "btn small edit-issue-link", :remote => true
9 - -#- if can?(current_user, :admin_issue, @project) || issue.author == current_user  
10 - = link_to 'Remove', [issue.project, issue], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "danger btn small delete-issue", :id => "destroy_issue_#{issue.id}"  
11 = image_tag gravatar_icon(issue.assignee_email), :class => "avatar" 9 = image_tag gravatar_icon(issue.assignee_email), :class => "avatar"
12 %span.update-author 10 %span.update-author
13 assigned to 11 assigned to
app/views/merge_requests/_form.html.haml
@@ -6,6 +6,9 @@ @@ -6,6 +6,9 @@
6 %li= msg 6 %li= msg
7 7
8 .clearfix 8 .clearfix
  9 + = f.label :title
  10 + .input= f.text_area :title, :class => "xxlarge", :maxlength => 255, :rows => 5
  11 + .clearfix
9 = f.label :source_branch, "From" 12 = f.label :source_branch, "From"
10 .input= f.select(:source_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px") 13 .input= f.select(:source_branch, @project.heads.map(&:name), { :include_blank => "Select branch" }, :style => "width:250px")
11 .clearfix 14 .clearfix
@@ -15,9 +18,6 @@ @@ -15,9 +18,6 @@
15 = f.label :assignee_id, "Assign to" 18 = f.label :assignee_id, "Assign to"
16 .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }, :style => "width:250px") 19 .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }, :style => "width:250px")
17 20
18 - .clearfix  
19 - = f.label :title  
20 - .input= f.text_area :title, :class => "xlarge", :maxlength => 255, :rows => 5  
21 .actions 21 .actions
22 = f.submit 'Save', :class => "primary btn" 22 = f.submit 'Save', :class => "primary btn"
23 - if @merge_request.new_record? 23 - if @merge_request.new_record?
@@ -26,11 +26,6 @@ @@ -26,11 +26,6 @@
26 - else 26 - else
27 = link_to project_merge_request_path(@project, @merge_request), :class => "btn" do 27 = link_to project_merge_request_path(@project, @merge_request), :class => "btn" do
28 Cancel 28 Cancel
29 - &nbsp;  
30 - - unless @merge_request.new_record?  
31 - .right  
32 - = link_to 'Remove', [@project, @merge_request], :confirm => 'Are you sure?', :method => :delete, :class => "btn danger"  
33 -  
34 29
35 30
36 31
app/views/projects/index.html.haml
1 -- unless @projects.empty?  
2 - .row  
3 - .span4  
4 - %div.leftbar.ui-box  
5 - %h5  
6 - Projects  
7 - - if current_user.can_create_project?  
8 - %span.right  
9 - = link_to new_project_path, :class => "btn very_small info" do  
10 - New Project  
11 - .content_list  
12 - - @projects.each do |project|  
13 - = link_to project_path(project), :remote => true, :class => dom_class(project) do  
14 - %h4  
15 - %span.ico.project  
16 - = truncate(project.name, :length => 22)  
17 - .span12.right  
18 - .show_holder.ui-box.padded  
19 - .loading  
20 -  
21 -- else  
22 - %h2 Nothing here 1 +.row
  2 + .span4
  3 + %div.leftbar.ui-box
  4 + %h5
  5 + Projects
  6 + - if current_user.can_create_project?
  7 + %span.right
  8 + = link_to new_project_path, :class => "btn very_small info" do
  9 + New Project
  10 + .content_list
  11 + - @projects.each do |project|
  12 + = link_to project_path(project), :remote => true, :class => dom_class(project) do
  13 + %h4
  14 + %span.ico.project
  15 + = truncate(project.name, :length => 22)
  16 + .span12.right
  17 + .show_holder.ui-box.padded
  18 + .loading
23 19
24 20
25 :javascript 21 :javascript
config/application.rb
@@ -23,7 +23,7 @@ module Gitlab @@ -23,7 +23,7 @@ module Gitlab
23 # config.plugins = [ :exception_notification, :ssl_requirement, :all ] 23 # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
24 24
25 # Activate observers that should always be running. 25 # Activate observers that should always be running.
26 - config.active_record.observers = :mailer_observer, :activity_observer 26 + config.active_record.observers = :mailer_observer, :activity_observer, :project_observer, :key_observer
27 27
28 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. 28 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
29 # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. 29 # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
@@ -24,25 +24,13 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -24,25 +24,13 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
24 t.integer "action" 24 t.integer "action"
25 end 25 end
26 26
27 - create_table "features", :force => true do |t|  
28 - t.string "name"  
29 - t.string "branch_name"  
30 - t.integer "assignee_id"  
31 - t.integer "author_id"  
32 - t.integer "project_id"  
33 - t.datetime "created_at"  
34 - t.datetime "updated_at"  
35 - t.string "version"  
36 - t.integer "status", :default => 0, :null => false  
37 - end  
38 -  
39 create_table "issues", :force => true do |t| 27 create_table "issues", :force => true do |t|
40 t.string "title" 28 t.string "title"
41 t.integer "assignee_id" 29 t.integer "assignee_id"
42 t.integer "author_id" 30 t.integer "author_id"
43 t.integer "project_id" 31 t.integer "project_id"
44 - t.datetime "created_at"  
45 - t.datetime "updated_at" 32 + t.datetime "created_at", :null => false
  33 + t.datetime "updated_at", :null => false
46 t.boolean "closed", :default => false, :null => false 34 t.boolean "closed", :default => false, :null => false
47 t.integer "position", :default => 0 35 t.integer "position", :default => 0
48 t.boolean "critical", :default => false, :null => false 36 t.boolean "critical", :default => false, :null => false
@@ -53,8 +41,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -53,8 +41,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
53 41
54 create_table "keys", :force => true do |t| 42 create_table "keys", :force => true do |t|
55 t.integer "user_id" 43 t.integer "user_id"
56 - t.datetime "created_at"  
57 - t.datetime "updated_at" 44 + t.datetime "created_at", :null => false
  45 + t.datetime "updated_at", :null => false
58 t.text "key" 46 t.text "key"
59 t.string "title" 47 t.string "title"
60 t.string "identifier" 48 t.string "identifier"
@@ -69,8 +57,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -69,8 +57,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
69 t.integer "assignee_id" 57 t.integer "assignee_id"
70 t.string "title" 58 t.string "title"
71 t.boolean "closed", :default => false, :null => false 59 t.boolean "closed", :default => false, :null => false
72 - t.datetime "created_at"  
73 - t.datetime "updated_at" 60 + t.datetime "created_at", :null => false
  61 + t.datetime "updated_at", :null => false
74 end 62 end
75 63
76 add_index "merge_requests", ["project_id"], :name => "index_merge_requests_on_project_id" 64 add_index "merge_requests", ["project_id"], :name => "index_merge_requests_on_project_id"
@@ -80,8 +68,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -80,8 +68,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
80 t.string "noteable_id" 68 t.string "noteable_id"
81 t.string "noteable_type" 69 t.string "noteable_type"
82 t.integer "author_id" 70 t.integer "author_id"
83 - t.datetime "created_at"  
84 - t.datetime "updated_at" 71 + t.datetime "created_at", :null => false
  72 + t.datetime "updated_at", :null => false
85 t.integer "project_id" 73 t.integer "project_id"
86 t.string "attachment" 74 t.string "attachment"
87 t.string "line_code" 75 t.string "line_code"
@@ -94,8 +82,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -94,8 +82,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
94 t.string "name" 82 t.string "name"
95 t.string "path" 83 t.string "path"
96 t.text "description" 84 t.text "description"
97 - t.datetime "created_at"  
98 - t.datetime "updated_at" 85 + t.datetime "created_at", :null => false
  86 + t.datetime "updated_at", :null => false
99 t.boolean "private_flag", :default => true, :null => false 87 t.boolean "private_flag", :default => true, :null => false
100 t.string "code" 88 t.string "code"
101 t.integer "owner_id" 89 t.integer "owner_id"
@@ -118,8 +106,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -118,8 +106,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
118 t.text "content" 106 t.text "content"
119 t.integer "author_id", :null => false 107 t.integer "author_id", :null => false
120 t.integer "project_id", :null => false 108 t.integer "project_id", :null => false
121 - t.datetime "created_at"  
122 - t.datetime "updated_at" 109 + t.datetime "created_at", :null => false
  110 + t.datetime "updated_at", :null => false
123 t.string "file_name" 111 t.string "file_name"
124 t.datetime "expires_at" 112 t.datetime "expires_at"
125 end 113 end
@@ -152,8 +140,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -152,8 +140,8 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
152 t.datetime "last_sign_in_at" 140 t.datetime "last_sign_in_at"
153 t.string "current_sign_in_ip" 141 t.string "current_sign_in_ip"
154 t.string "last_sign_in_ip" 142 t.string "last_sign_in_ip"
155 - t.datetime "created_at"  
156 - t.datetime "updated_at" 143 + t.datetime "created_at", :null => false
  144 + t.datetime "updated_at", :null => false
157 t.string "name" 145 t.string "name"
158 t.boolean "admin", :default => false, :null => false 146 t.boolean "admin", :default => false, :null => false
159 t.integer "projects_limit", :default => 10 147 t.integer "projects_limit", :default => 10
@@ -171,16 +159,16 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do @@ -171,16 +159,16 @@ ActiveRecord::Schema.define(:version =&gt; 20120301185805) do
171 create_table "users_projects", :force => true do |t| 159 create_table "users_projects", :force => true do |t|
172 t.integer "user_id", :null => false 160 t.integer "user_id", :null => false
173 t.integer "project_id", :null => false 161 t.integer "project_id", :null => false
174 - t.datetime "created_at"  
175 - t.datetime "updated_at" 162 + t.datetime "created_at", :null => false
  163 + t.datetime "updated_at", :null => false
176 t.integer "project_access", :default => 0, :null => false 164 t.integer "project_access", :default => 0, :null => false
177 end 165 end
178 166
179 create_table "web_hooks", :force => true do |t| 167 create_table "web_hooks", :force => true do |t|
180 t.string "url" 168 t.string "url"
181 t.integer "project_id" 169 t.integer "project_id"
182 - t.datetime "created_at"  
183 - t.datetime "updated_at" 170 + t.datetime "created_at", :null => false
  171 + t.datetime "updated_at", :null => false
184 end 172 end
185 173
186 create_table "wikis", :force => true do |t| 174 create_table "wikis", :force => true do |t|
spec/models/project_spec.rb
@@ -2,13 +2,17 @@ require &#39;spec_helper&#39; @@ -2,13 +2,17 @@ require &#39;spec_helper&#39;
2 2
3 describe Project do 3 describe Project do
4 describe "Associations" do 4 describe "Associations" do
5 - it { should have_many(:events) }  
6 it { should have_many(:users) } 5 it { should have_many(:users) }
7 - it { should have_many(:users_projects) }  
8 - it { should have_many(:issues) }  
9 - it { should have_many(:notes) }  
10 - it { should have_many(:snippets) } 6 + it { should have_many(:protected_branches).dependent(:destroy) }
  7 + it { should have_many(:events).dependent(:destroy) }
  8 + it { should have_many(:wikis).dependent(:destroy) }
  9 + it { should have_many(:merge_requests).dependent(:destroy) }
  10 + it { should have_many(:users_projects).dependent(:destroy) }
  11 + it { should have_many(:issues).dependent(:destroy) }
  12 + it { should have_many(:notes).dependent(:destroy) }
  13 + it { should have_many(:snippets).dependent(:destroy) }
11 it { should have_many(:web_hooks).dependent(:destroy) } 14 it { should have_many(:web_hooks).dependent(:destroy) }
  15 + it { should have_many(:deploy_keys).dependent(:destroy) }
12 end 16 end
13 17
14 describe "Validation" do 18 describe "Validation" do
@@ -70,30 +74,6 @@ describe Project do @@ -70,30 +74,6 @@ describe Project do
70 end 74 end
71 end 75 end
72 76
73 - describe "updates" do  
74 - let(:project) { Factory :project }  
75 -  
76 - before do  
77 - @issue = Factory :issue,  
78 - :project => project,  
79 - :author => Factory(:user),  
80 - :assignee => Factory(:user)  
81 -  
82 - @note = Factory :note,  
83 - :project => project,  
84 - :author => Factory(:user)  
85 -  
86 - @commit = project.fresh_commits(1).first  
87 - end  
88 -  
89 - describe "return commit, note & issue" do  
90 - it { project.updates(3).count.should == 3 }  
91 - it { project.updates(3).last.id.should == @commit.id }  
92 - it { project.updates(3).include?(@issue).should be_true }  
93 - it { project.updates(3).include?(@note).should be_true }  
94 - end  
95 - end  
96 -  
97 describe "last_activity" do 77 describe "last_activity" do
98 let(:project) { Factory :project } 78 let(:project) { Factory :project }
99 79
spec/requests/issues_spec.rb
@@ -46,21 +46,6 @@ describe &quot;Issues&quot; do @@ -46,21 +46,6 @@ describe &quot;Issues&quot; do
46 page.body.should have_selector("entry summary", :text => @issue.title) 46 page.body.should have_selector("entry summary", :text => @issue.title)
47 end 47 end
48 48
49 - describe "Destroy" do  
50 - before do  
51 - # admin access to remove issue  
52 - @user.users_projects.destroy_all  
53 - project.add_access(@user, :read, :write, :admin)  
54 - visit edit_project_issue_path(project, @issue)  
55 - end  
56 -  
57 - it "should remove entry" do  
58 - expect {  
59 - click_link "Remove"  
60 - }.to change { Issue.count }.by(-1)  
61 - end  
62 - end  
63 -  
64 describe "statuses" do 49 describe "statuses" do
65 before do 50 before do
66 @closed_issue = Factory :issue, 51 @closed_issue = Factory :issue,