Skip to content

Commit

Permalink
[NUOPEN- 221][Shared dev] Show Actual duration days as days in Manage…
Browse files Browse the repository at this point in the history
… order modal (#5044)

* Make actual_duration_days return integer

* Show Actual duration days as days
  • Loading branch information
LeticiaErrandonea authored Feb 24, 2025
1 parent 9d5fa1a commit 210a4ad
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 9 deletions.
2 changes: 1 addition & 1 deletion app/models/time_range.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def duration_days

seconds = end_at - start_at

seconds / 1.day
(seconds / 1.day)
end

private
Expand Down
2 changes: 1 addition & 1 deletion app/support/reservations/date_support.rb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def actual_duration_days(actual_end_fallback: nil)
if @actual_duration_days
@actual_duration_days.to_i
elsif actual_start_at
TimeRange.new(actual_start_at, actual_end_at || actual_end_fallback).duration_days
TimeRange.new(actual_start_at, actual_end_at || actual_end_fallback).duration_days.ceil
else
0
end
Expand Down
11 changes: 8 additions & 3 deletions app/views/order_management/order_details/_reservation.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,14 @@
.controls
%label  
= time_select r, :actual_start, :minute_step => 1
- options = { class: "timeinput", data: { allow_init_blank: true } }
- options[:value] = "" if r.object.actual_duration_mins == 0
= r.input :actual_duration_mins, input_html: options, error: false
- options = { data: { allow_init_blank: true } }
- if reservation.product.daily_booking?
- options[:value] = "" if r.object.actual_duration_days == 0
= r.input :actual_duration_days, input_html: options, error: false
- else
- options[:value] = "" if r.object.actual_duration_mins == 0
- options[:class] = "timeinput"
= r.input :actual_duration_mins, input_html: options, error: false
= render "copy_actuals_from_reservation", reservation: reservation

- else
Expand Down
13 changes: 9 additions & 4 deletions spec/system/admin/order_show_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,25 @@

RSpec.describe "Order show" do
let(:facility) { create(:setup_facility) }
let(:account) { create(:setup_account) }
let(:account) { create(:setup_account, facility:) }
let!(:instrument) { create(:setup_instrument, :always_available, :daily_booking, facility:) }
let(:reservation_order) { create(:setup_order, product: instrument, account:) }
let!(:reservation) do
create(
:purchased_reservation,
product: instrument,
order_detail: reservation_order.order_details.first,
reserve_start_at: 1.day.from_now,
reserve_end_at: 4.days.from_now
reserve_start_at: 4.days.ago,
reserve_end_at: 1.day.ago,
actual_start_at: 4.days.ago,
actual_end_at: 1.day.ago
)
end
let(:facility_administrator) { create(:user, :facility_administrator, facility:) }

before do
order_detail = reservation_order.order_details.first
order_detail.complete!
login_as facility_administrator
visit facility_order_path(facility, reservation_order)
end
Expand All @@ -33,7 +37,7 @@
describe "reservation actual" do
it "is correctly displayed in days" do
# Actual is the fourth column
expect(all("tbody tr").first.all("td")[3]).to have_text("0", exact: true)
expect(all("tbody tr").first.all("td")[3]).to have_text("3", exact: true)
end
end

Expand All @@ -45,6 +49,7 @@

it "shows the duration days field" do
expect(page).to have_field("Duration Days", with: "3")
expect(page).to have_field("Actual duration days", with: "3")
end
end
end

0 comments on commit 210a4ad

Please sign in to comment.