Fix application error when Project#last_activity_at is nil
This commit is contained in:
parent
f088691884
commit
a89c1bf645
3 changed files with 19 additions and 7 deletions
|
@ -689,7 +689,7 @@ class Project < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def last_activity_date
|
||||
last_activity_at || updated_at
|
||||
last_repository_updated_at || last_activity_at || updated_at
|
||||
end
|
||||
|
||||
def project_id
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
- show_last_commit_as_description = false unless local_assigns[:show_last_commit_as_description] == true && project.commit
|
||||
- css_class += " no-description" if project.description.blank? && !show_last_commit_as_description
|
||||
- cache_key = project_list_cache_key(project)
|
||||
- updated_tooltip = time_ago_with_tooltip(project.last_activity_at)
|
||||
- updated_tooltip = time_ago_with_tooltip(project.last_activity_date)
|
||||
|
||||
%li.project-row{ class: css_class }
|
||||
= cache(cache_key) do
|
||||
|
|
|
@ -15,13 +15,25 @@ RSpec.describe 'Dashboard Projects', feature: true do
|
|||
expect(page).to have_content('awesome stuff')
|
||||
end
|
||||
|
||||
it 'shows the last_activity_at attribute as the update date' do
|
||||
now = Time.now
|
||||
project.update_column(:last_activity_at, now)
|
||||
context 'when last_repository_updated_at, last_activity_at and update_at are present' do
|
||||
it 'shows the last_repository_updated_at attribute as the update date' do
|
||||
project.update_attributes!(last_repository_updated_at: Time.now, last_activity_at: 1.hour.ago)
|
||||
|
||||
visit dashboard_projects_path
|
||||
visit dashboard_projects_path
|
||||
|
||||
expect(page).to have_xpath("//time[@datetime='#{now.getutc.iso8601}']")
|
||||
expect(page).to have_xpath("//time[@datetime='#{project.last_repository_updated_at.getutc.iso8601}']")
|
||||
end
|
||||
end
|
||||
|
||||
context 'when last_repository_updated_at and last_activity_at are missing' do
|
||||
it 'shows the updated_at attribute as the update date' do
|
||||
project.update_attributes!(last_repository_updated_at: nil, last_activity_at: nil)
|
||||
project.touch
|
||||
|
||||
visit dashboard_projects_path
|
||||
|
||||
expect(page).to have_xpath("//time[@datetime='#{project.updated_at.getutc.iso8601}']")
|
||||
end
|
||||
end
|
||||
|
||||
context 'when on Starred projects tab' do
|
||||
|
|
Loading…
Reference in a new issue