Skip to content

Commit 0965387

Browse files
committed
wip[ci skip]
1 parent e1ab2e8 commit 0965387

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

app/controllers/admin/orders_controller.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
class Admin::OrdersController < Admin::ApplicationController
44
def close
55
order = Order.find(params[:id])
6+
order_date = I18n.l(order.date)
7+
8+
# rubocop:disable Style/AndOr
9+
redirect_to todays_order_admin_orders_path, alert: "#{order_date}はすでに締め切り処理が済んでいます" \
10+
and return if order.closed?
11+
# rubocop:enable Style/AndOr
612

713
order.close!
814
message = if order.realized?

spec/features/admin/close_order_spec.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,27 @@
1616
expect(page).not_to have_selector('input[type=submit][value="予約を締め切る"]')
1717
end
1818
end
19+
20+
scenario 'すでに注文の締め切り処理が終わっている場合は予約を締め切れない' do
21+
# TODO 今回あったように日付をまたいだケースを作りたい。
22+
order = create(:order, date: 'Mon, 29 May 2017')
23+
Timecop.freeze(order.date) do
24+
create(:order_item, lunchbox_id: lunchbox.id, order: order)
25+
create(:order_item, lunchbox_id: lunchbox.id, order: order)
26+
27+
visit todays_order_admin_orders_path
28+
29+
using_session SecureRandom.uuid do
30+
visit todays_order_admin_orders_path
31+
click_button('予約を締め切る')
32+
end
33+
34+
click_button('予約を締め切る')
35+
36+
expect(page).to have_content '2017/05/29(月)はすでに締め切り処理が済んでいます'
37+
within 'h1' do
38+
expect(page).to have_content '今日(2017/05/29(月))の予約一覧'
39+
end
40+
end
41+
end
1942
end

0 commit comments

Comments
 (0)