• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / 2e85105d-f9c8-41e9-8b05-fe438b698516

26 Nov 2025 12:16PM UTC coverage: 71.597% (-8.0%) from 79.623%
2e85105d-f9c8-41e9-8b05-fe438b698516

push

circleci

web-flow
Display the data sponsor and data manager in the dashboard listing (#2247)

Closes #2236 

<img width="1036" height="675" alt="Screenshot 2025-11-25 at 3 07 41 PM"
src="https://github.com/user-attachments/assets/3b6a2189-7f71-4b17-97e5-e66c8fed3cb3"
/>

1 of 3 new or added lines in 1 file covered. (33.33%)

346 existing lines in 26 files now uncovered.

2367 of 3306 relevant lines covered (71.6%)

147.24 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

32.14
/app/presenters/project_dashboard_presenter.rb
1
# frozen_string_literal: true
2
class ProjectDashboardPresenter < ProjectShowPresenter
1✔
3
  include ActionView::Helpers::DateHelper
1✔
4

5
  delegate :to_model, :updated_at, to: :project
1✔
6

7
  def type
1✔
UNCOV
8
    if storage_performance_expectations["approved"].nil?
×
UNCOV
9
      "Requested #{storage_performance_expectations['requested']}"
×
10
    else
UNCOV
11
      storage_performance_expectations["approved"]
×
12
    end
13
  end
14

15
  def latest_file_list_time
1✔
UNCOV
16
    requests = FileInventoryRequest.where(project_id: project.id).order(completion_time: :desc)
×
UNCOV
17
    if requests.empty?
×
UNCOV
18
      "No Downloads"
×
UNCOV
19
    elsif requests.first.completion_time
×
UNCOV
20
      "Prepared #{time_ago_in_words(requests.first.completion_time)} ago"
×
21
    else
UNCOV
22
      "Preparing now"
×
23
    end
24
  end
25

26
  def last_activity
1✔
27
    if project_metadata.updated_on.nil?
×
28
      "Not yet active"
×
29
    else
30
      "#{remove_about time_ago_in_words(project_metadata.updated_on)} ago"
×
31
    end
32
  end
33

34
  def role(user)
1✔
35
    if data_sponsor.uid == user.uid
×
36
      "Sponsor"
×
37
    elsif data_manager.uid == user.uid
×
38
      "Data Manager"
×
39
    else
40
      "Data User"
×
41
    end
42
  end
43

44
  def path
1✔
45
    project_directory
×
46
  end
47

48
  # Removes "about" (as in "about 1 month ago") from time_ago_in_words
49
  def remove_about(time_ago)
1✔
50
    time_ago.gsub("about ", "")
×
51
  end
52
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc