Skip to content

Commit b4fab28

Browse files
committed
Error message is more inline with expectations
1 parent 5d4f6e2 commit b4fab28

3 files changed

Lines changed: 12 additions & 6 deletions

File tree

app/controllers/partners/family_requests_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def create
2929
if create_service.errors.none?
3030
redirect_to partners_request_path(create_service.partner_request), notice: "Requested items successfully!"
3131
else
32-
redirect_to new_partners_family_request_path, error: "Request failed! #{create_service.errors.map { |error| error.message.to_s }}"
32+
redirect_to new_partners_family_request_path, error: create_service.errors.map { |error| error.message.to_s }.join(",").to_s
3333
end
3434
end
3535

app/services/partners/family_request_create_service.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,17 @@ def check_for_item_visibility
8686
item_errors = invisible_items.map do |item|
8787
item_name = included_items_by_id[item[:item_id]].name
8888

89-
child_count = item[:children].length
89+
children_names = item[:children].map { |c| "#{c.first_name} #{c.last_name}" }.join(", ")
9090

91-
"#{item_name} requested for #{child_count} child#{"ren" if child_count > 1} is not currently available for request."
91+
"\"#{item_name}\" requested for #{children_names} is not currently available for request."
9292
end
9393

9494
joined_errors = item_errors.join(", ")
9595

9696
# don't want to show a memflash error
9797
if joined_errors.length >= Memflash.threshold
98-
errors.add(:base, item_errors.first)
98+
truncated_errors = joined_errors[0...(Memflash.threshold - 10)]
99+
errors.add(:base, "#{truncated_errors}...")
99100
else
100101
errors.add(:base, joined_errors)
101102
end

spec/requests/partners/family_requests_requests_spec.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@
5757

5858
subject
5959

60-
expected = "Request failed! [\"#{i.name} requested for 1 child is not currently available for request.\"]"
60+
child_with_unavailable_item = children[0]
61+
expected = "\"#{i.name}\" requested for #{child_with_unavailable_item.first_name} #{child_with_unavailable_item.last_name} is not currently available for request."
6162

6263
expect(response.request.flash[:error]).to eql expected
6364
end
@@ -73,7 +74,11 @@
7374

7475
subject
7576

76-
expected = "Request failed! [\"#{i.name} requested for 2 children is not currently available for request.\"]"
77+
children_with_unavailable_item = children[0..1]
78+
79+
child_formatting = children_with_unavailable_item.map { |c| "#{c.first_name} #{c.last_name}" }.join(", ")
80+
81+
expected = "\"#{i.name}\" requested for #{child_formatting} is not currently available for request."
7782

7883
expect(response.request.flash[:error]).to eql expected
7984
end

0 commit comments

Comments
 (0)