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

pulibrary / tigerdata-app / d7ce1bf9-25b8-4b3e-b9dd-43f9a26f2d96

17 Oct 2025 05:51PM UTC coverage: 91.054%. Remained the same
d7ce1bf9-25b8-4b3e-b9dd-43f9a26f2d96

Pull #2055

circleci

jrgriffiniii
- Ensuring that `parallelism` is set to 4
- Separating `system` RSpec spec suites in the CI build
- Using an `inconsistent` RSpec tag to mark inconsistently failing tests
- Ensuring that CI does not run for `inconsistent` tests
Pull Request #2055: Ensuring that `parallelism` is set to 4 for CircleCI and separates `system` and inconsistently-failing tests into separate CI jobs

2738 of 3007 relevant lines covered (91.05%)

380.37 hits per line

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

100.0
/app/services/request_project_metadata.rb
1
# frozen_string_literal: true
2
class RequestProjectMetadata
5✔
3
  class << self
5✔
4
    # rubocop:disable Metrics/AbcSize
5
    # rubocop:disable Metrics/MethodLength
6
    def convert(request)
5✔
7
      {
8
        title: request[:project_title],
125✔
9
        description: request[:description],
10
        project_purpose: request[:project_purpose],
11
        status: Project::APPROVED_STATUS,
12
        data_sponsor: request[:data_sponsor],
13
        data_manager: request[:data_manager],
14
        departments: departments(request),
15
        data_user_read_only: read_only_users(request),
16
        data_user_read_write: read_write_users(request).compact,
17
        project_directory: project_directory(request),
18
        storage_capacity: storage_capacity(request),
19
        storage_performance_expectations: { requested: "Standard", approved: "Standard" },
20
        created_by: nil,
21
        created_on: request[:created_at],
22
        project_id: ProjectMetadata::DOI_NOT_MINTED,
23
        number_of_files: request[:number_of_files],
24
        hpc: request[:hpc]&.downcase == "yes",
25
        smb: request[:smb]&.downcase == "yes",
26
        globus: request[:globus]&.downcase == "yes"
27
      }
28
    end
29
     # rubocop:enable Metrics/AbcSize
30
     # rubocop:enable Metrics/MethodLength
31

32
     private
5✔
33

34
       def project_directory(request)
5✔
35
         [Rails.configuration.mediaflux["api_root"], request[:parent_folder], request[:project_folder]].compact_blank.join("/")
125✔
36
       end
37

38
       def read_only_users(request)
5✔
39
         return [] if request[:user_roles].blank?
125✔
40
         request[:user_roles].select { |u| u["read_only"] || u["read_only"].nil? }.map { |u| u["uid"] }
17✔
41
       end
42

43
       def read_write_users(request)
5✔
44
         return [] if request[:user_roles].blank?
125✔
45
         request[:user_roles].select { |u| u["read_only"] == false }.map { |u| u["uid"] }
13✔
46
       end
47

48
       def departments(request)
5✔
49
         request[:departments].map { |d| d["name"] }
355✔
50
       end
51

52
       def storage_capacity(request)
5✔
53
         {
54
           size: {
125✔
55
             approved: request.approved_quota_size.to_s,
56
             requested: request.requested_quota_size.to_s
57
           },
58
           unit: {
59
             approved: request.approved_quota_unit,
60
             requested: request.requested_quota_unit
61
           }
62
         }
63
       end
64
  end
65
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