Skip to content

Commit e1ab2e8

Browse files
authored
Merge pull request #154 from esminc/fix-rendering-message
営業日の締め切り前にトップページにアクセスすると必ず非成立メッセージが出るのを直した
2 parents 155d379 + 9da1c44 commit e1ab2e8

File tree

6 files changed

+81
-32
lines changed

6 files changed

+81
-32
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ group :test do
3535
gem 'database_rewinder'
3636
gem 'factory_girl_rails'
3737
gem 'ffaker'
38+
gem 'launchy'
3839
gem 'rspec-rails'
3940
gem 'timecop'
4041
end

Gemfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ GEM
9292
rails-dom-testing (>= 1, < 3)
9393
railties (>= 4.2.0)
9494
thor (>= 0.14, < 2.0)
95+
launchy (2.4.3)
96+
addressable (~> 2.3)
9597
listen (3.1.5)
9698
rb-fsevent (~> 0.9, >= 0.9.4)
9799
rb-inotify (~> 0.9, >= 0.9.7)
@@ -247,6 +249,7 @@ DEPENDENCIES
247249
ffaker
248250
holiday_jp
249251
jquery-rails
252+
launchy
250253
listen
251254
pg
252255
pry-byebug

app/views/orders/index.html.slim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
p
77
| 本日の予約は締め切りました。受け取りチェックをするには以下のリンクをクリックしてください。
88
= link_to l(@today_order.date), order_order_items_path(@today_order)
9-
- else
9+
- elsif @today_order.not_realized?
1010
h2
11-
| 本日 (#{l(@today_order.date)}) の発注は注文数不足のため注文されませんでした
11+
| 本日 (#{l(@today_order.date)}) は予約数不足のため注文されませんでした
1212
h2
1313
| お弁当を予約する
1414

spec/features/order_item_shorage_spec.rb

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
require 'rails_helper'
2+
3+
RSpec.feature '予約を締め切ったあとには、注文の成立・非成立を知らせるメッセージがトップページに表示される', type: :feature do
4+
let(:jouben_dai) { create(:lunchbox, name: '上弁ライス大') }
5+
let(:tokuben_futsuu) { create(:lunchbox, name: '特弁ライス普') }
6+
let(:order1) { create(:order, date: 'Thu, 1 Jun 2017', closed_at: nil) }
7+
let!(:order2) { create(:order, date: 'Fri, 2 Jun 2017', closed_at: nil) }
8+
let!(:order3) { create(:order, date: 'Mon, 5 Jun 2017', closed_at: nil) }
9+
10+
context '締め切り前' do
11+
context '成立数に達していたとき' do
12+
scenario '注文の成立に関するメッセージは表示されない' do
13+
Timecop.freeze(order1.date) do
14+
create_list(:order_item, 2, lunchbox: jouben_dai, order: order1)
15+
create_list(:order_item, 3, lunchbox: tokuben_futsuu, order: order1)
16+
17+
visit root_path
18+
19+
expect(page).not_to have_content '本日の予約は締め切りました。受け取りチェックをするには以下のリンクをクリックしてください。'
20+
expect(page).not_to have_content '本日 (2017/06/01(木)) の発注は注文数不足のため注文されませんでした'
21+
end
22+
end
23+
end
24+
25+
context '成立数に達していなかったとき' do
26+
scenario '注文の成立に関するメッセージは表示されない' do
27+
Timecop.freeze(order1.date) do
28+
create_list(:order_item, 1, lunchbox: jouben_dai, order: order1)
29+
create_list(:order_item, 1, lunchbox: tokuben_futsuu, order: order1)
30+
31+
visit root_path
32+
33+
expect(page).not_to have_content '本日の予約は締め切りました。受け取りチェックをするには以下のリンクをクリックしてください。'
34+
expect(page).not_to have_content '本日 (2017/06/01(木)) の発注は注文数不足のため注文されませんでした'
35+
end
36+
end
37+
end
38+
end
39+
40+
context '締め切り後' do
41+
background do
42+
Timecop.freeze(order1.date) do
43+
visit todays_order_admin_orders_path
44+
click_button('予約を締め切る')
45+
end
46+
end
47+
48+
context '成立数に達していたとき' do
49+
scenario '注文の成立を知らせるメッセージが表示される' do
50+
Timecop.freeze(order1.date) do
51+
create_list(:order_item, 2, lunchbox: jouben_dai, order: order1)
52+
create_list(:order_item, 3, lunchbox: tokuben_futsuu, order: order1)
53+
54+
visit root_path
55+
56+
expect(page).to have_content '本日の予約は締め切りました。受け取りチェックをするには以下のリンクをクリックしてください。'
57+
end
58+
end
59+
end
60+
61+
context '成立数に達していなかったとき' do
62+
scenario '注文の非成立を知らせるメッセージが表示される' do
63+
Timecop.freeze(order1.date) do
64+
create_list(:order_item, 1, lunchbox: jouben_dai, order: order1)
65+
create_list(:order_item, 1, lunchbox: tokuben_futsuu, order: order1)
66+
67+
visit root_path
68+
69+
expect(page).to have_content '本日 (2017/06/01(木)) は予約数不足のため注文されませんでした'
70+
end
71+
end
72+
end
73+
end
74+
end

spec/models/order_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
create(:order_item, order: order, lunchbox_id: lunchbox1.id)
1414
end
1515

16-
it '注文された弁当の個数と値段が集計される' do
16+
it '予約された弁当の個数と値段が集計される' do
1717
expect(order.aggregate_items(Lunchbox.all)).to eq(
1818
[
1919
[2, 3, 0, 5],

0 commit comments

Comments
 (0)