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

pulibrary / tigerdata-app / cd28fc74-2c91-4f60-a1ef-f16bbffaa0d1

22 Sep 2025 04:00PM UTC coverage: 89.119% (+0.2%) from 88.908%
cd28fc74-2c91-4f60-a1ef-f16bbffaa0d1

Pull #1882

circleci

leefaisonr
Test that PrincetonUsers class updates user if displayname is blank
Co-authored-by: Bess Sadler <bess@users.noreply.github.com>
Co-authored-by: Precilla Prempeh <precillap@users.noreply.github.com>
Pull Request #1882: Test that PrincetonUsers class updates user if displayname is blank

2 of 2 new or added lines in 1 file covered. (100.0%)

3 existing lines in 1 file now uncovered.

2539 of 2849 relevant lines covered (89.12%)

332.34 hits per line

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

92.86
/app/controllers/edit_requests_controller.rb
1
# frozen_string_literal: true
2
class EditRequestsController < ApplicationController
1✔
3
  layout "edit_request"
1✔
4
  before_action :set_breadcrumbs
1✔
5

6
  before_action :set_request_model, only: %i[edit update]
1✔
7

8
  # GET /edit_requests/1/edit
9
  def edit
1✔
10
    unless current_user.developer || current_user.sysadmin || current_user.trainer
2✔
11
      flash[:notice] = I18n.t(:no_modify_submitted)
1✔
12
      redirect_to request_path(@request_model)
1✔
13
    end
14
    add_breadcrumb(@request_model.project_title, request_path(@request_model))
2✔
15
    add_breadcrumb("Edit Submitted Request")
2✔
16
  end
17

18
  # PATCH/PUT /edit_requests/1 or /edit_requests/1.json
19
  def update
1✔
20
    if current_user.developer || current_user.sysadmin || current_user.trainer
3✔
21
      respond_to do |format|
2✔
22
        if @request_model.update(request_params) && @request_model.valid_to_submit?
2✔
23
          format.html { redirect_to request_url(@request_model), notice: I18n.t(:successful_update) }
2✔
24
          format.json { render :show, status: :ok, location: @request_model }
1✔
25
        else
26
          format.html { render :edit, status: :unprocessable_entity }
2✔
27
          format.json { render json: @request_model.errors, status: :unprocessable_entity }
1✔
28
        end
29
      end
30
    else
31
      flash[:notice] = I18n.t(:no_modify_submitted)
1✔
32
      redirect_to request_path(@request_model)
1✔
33
    end
34
  end
35

36
  private
1✔
37

38
    # Use callbacks to share common setup or constraints between actions.
39
    def set_request_model
1✔
40
      @princeton_departments = Affiliation.all
5✔
41
      @request_model = Request.find(params[:id])
5✔
42
    end
43

44
    # Only allow a list of trusted parameters through.
45
    def request_params
1✔
46
      request_params = params.fetch(:request, {}).permit(:request_title, :project_title, :state, :data_sponsor, :data_manager,
2✔
47
                                        :description, :parent_folder, :project_folder, :project_id, :quota, :requested_by,
48
                                        :storage_size, :storage_unit, user_roles: [], departments: [])
49
      if request_params[:departments].present?
2✔
50
        request_params[:departments] = request_params[:departments].compact_blank.map { |dep_str| JSON.parse(dep_str) }
3✔
51
      end
52
      if request_params[:user_roles].present?
2✔
UNCOV
53
        request_params[:user_roles] = request_params[:user_roles].compact_blank.map { |role_str| JSON.parse(role_str) }
×
54
      end
55
      move_approved_values(request_params)
2✔
56
    end
57

58
    def move_approved_values(request_params)
1✔
59
      if request_params[:quota].present?
2✔
60
        request_params[:approved_quota] = request_params.delete(:quota)
1✔
61
      end
62
      if request_params[:storage_size].present?
2✔
UNCOV
63
        request_params[:approved_storage_size] = request_params.delete(:storage_size)
×
64
      end
65
      if request_params[:storage_unit].present?
2✔
UNCOV
66
        request_params[:approved_storage_unit] = request_params.delete(:storage_unit)
×
67
      end
68
      request_params
2✔
69
    end
70

71
    def set_breadcrumbs
1✔
72
      add_breadcrumb("Dashboard", dashboard_path)
5✔
73
      add_breadcrumb("Requests", requests_path)
5✔
74
    end
75
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

© 2026 Coveralls, Inc