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

pulibrary / tigerdata-app / 529f7cba-0651-41c2-9045-ff17f0a5a349

21 Oct 2025 09:43PM UTC coverage: 86.877%. Remained the same
529f7cba-0651-41c2-9045-ff17f0a5a349

Pull #2070

circleci

bess
Remove tests for special production behavior
Pull Request #2070: Remove tests for special behavior in production

2615 of 3010 relevant lines covered (86.88%)

340.18 hits per line

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

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

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

12
  def generate
2✔
13
    request = create_request
1✔
14
    project = request.approve(user)
1✔
15
    project.save!
1✔
16
    project
1✔
17
  end
18

19
  private
2✔
20

21
    def create_request
2✔
22
      # create a duplicate copy of the configuration so we do not modify the rails defaults
23
      capacity = Rails.configuration.project_defaults[:storage_capacity].deep_dup
1✔
24

25
      Request.create(metadata(capacity))
1✔
26
    end
27

28
    # rubocop:disable Metrics/MethodLength
29
    def metadata(capacity)
2✔
30
      {
31
        data_sponsor: "tigerdatatester", # Must be a valid netid/uid
1✔
32
        data_manager: "tigerdatatester", # Must be a valid netid/uid
33
        user_roles: [],
34
        quota: "custom",
35
        storage_size: capacity[:size][:requested],
36
        storage_unit: capacity[:unit][:requested],
37
        # For testing purposes we use the same size as the requested values
38
        approved_quota: "custom",
39
        approved_storage_size: capacity[:size][:requested],
40
        approved_storage_unit: capacity[:unit][:requested],
41
        project_title: "Project #{project_prefix} #{sequence}",
42
        departments: departments,
43
        description: "Description of project #{project_prefix} #{sequence}",
44
        project_folder: "#{project_prefix}-#{sequence}",
45
        project_purpose: Rails.configuration.project_defaults[:project_purpose]
46
        # storage_performance_expectations: Rails.configuration.project_defaults[:storage_performance_expectations]
47
      }
48
    end
49
    # rubocop:enable Metrics/MethodLength
50

51
    def departments
2✔
52
      ldepartments = []
1✔
53
      ldepartments << Affiliation.all[3] if (number % 7) == 0
1✔
54
      ldepartments << Affiliation.all[2] if (number % 3) == 0
1✔
55
      ldepartments << Affiliation.all[1] if (number % 5) == 0
1✔
56
      ldepartments << Affiliation.all[0] if ldepartments.count == 0
1✔
57
      ldepartments
1✔
58
    end
59
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