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

pulibrary / tigerdata-app / 54385a8c-ec76-421e-81fd-41bf4c9d5b76

21 Jul 2025 08:55PM UTC coverage: 66.374% (-5.3%) from 71.631%
54385a8c-ec76-421e-81fd-41bf4c9d5b76

push

circleci

web-flow
Upgrade mediaflux build to v0.7.0 (#1617)

* Upgrade mediaflux build to v0.7.0

* prettier

* Upgrade mflux version used by the test suite

* tagging integration tests

* tagging integration tests

4 of 18 branches covered (22.22%)

0 of 1 new or added line in 1 file covered. (0.0%)

222 existing lines in 24 files now uncovered.

2722 of 4101 relevant lines covered (66.37%)

295.38 hits per line

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

25.71
/app/services/test_project_generator.rb
1
# frozen_string_literal: true
2
class TestProjectGenerator
1✔
3
  attr_reader :user, :number, :sequence, :project_prefix
1✔
4

5
  def initialize(user:, number:, project_prefix:)
1✔
UNCOV
6
    @user = user
×
UNCOV
7
    @number = number
×
UNCOV
8
    @sequence = number.to_s.rjust(5, "0")
×
UNCOV
9
    @project_prefix = project_prefix
×
10
  end
11

12
  def generate
1✔
UNCOV
13
    project = create_project
×
UNCOV
14
    project.save_in_mediaflux(user: user)
×
UNCOV
15
    project.save!
×
UNCOV
16
    project
×
17
  end
18

19
  private
1✔
20

21
    def create_project
1✔
22
      metadata = {
UNCOV
23
        created_on: Time.current.in_time_zone("America/New_York").iso8601,
×
24
        created_by: user.uid,
25
        data_sponsor: sponsor.uid,
26
        data_manager: sponsor.uid,
27
        data_user_read_write: [user.uid],
28
        departments: departments,
29
        project_directory: "#{project_prefix}-#{sequence}",
30
        title: "Project #{project_prefix} #{sequence}",
31
        description: "Description of project #{project_prefix} #{sequence}",
32
        data_user_read_only: [],
33
        data_user_read_write: [],
34
        project_id: project_id,
35
        storage_capacity: Rails.configuration.project_defaults[:storage_capacity],
36
        project_purpose: Rails.configuration.project_defaults[:project_purpose],
37
        storage_performance_expectations: Rails.configuration.project_defaults[:storage_performance_expectations],
38
        status: Project::PENDING_STATUS
39
      }
40
      # For testing purposes we use the same size as the requested values
UNCOV
41
      metadata[:storage_capacity][:size][:approved] = metadata[:storage_capacity][:size][:requested]
×
UNCOV
42
      metadata[:storage_capacity][:unit][:approved] = metadata[:storage_capacity][:unit][:requested]
×
UNCOV
43
      project = Project.new(metadata: )
×
UNCOV
44
      project.save!
×
UNCOV
45
      project
×
46
    end
47

48
    def sponsor
1✔
49
      return User.where(uid: "hc8719").first
×
50
    end
51

52
    def departments
1✔
UNCOV
53
      ldepartments = []
×
UNCOV
54
      ldepartments << Affiliation.all[3][:code] if (number % 7) == 0
×
UNCOV
55
      ldepartments << Affiliation.all[2][:code] if (number % 3) == 0
×
UNCOV
56
      ldepartments << Affiliation.all[1][:code] if (number % 5) == 0
×
UNCOV
57
      ldepartments << Affiliation.all[0][:code] if ldepartments.count == 0
×
UNCOV
58
      ldepartments
×
59
    end
60

61
    def project_id
1✔
UNCOV
62
      part1 = rand(1...99).to_s.rjust(2, "0")
×
UNCOV
63
      part2 = rand(1...99999).to_s.rjust(5, "0")
×
UNCOV
64
      part3 = rand(1...9999).to_s.rjust(4, "0")
×
UNCOV
65
      part4 = rand(1...9999).to_s.rjust(4, "0")
×
UNCOV
66
      "#{part1}.#{part2}/#{part3}-#{part4}"
×
67
    end
68
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