Skip to content

Commit 70a54eb

Browse files
committed
5428 move purchases logic to vendors controller, fix spec to test the view through the response.body
1 parent 723519a commit 70a54eb

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

app/controllers/vendors_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def edit
4747

4848
def show
4949
@vendor = current_organization.vendors.includes(:purchases).find(params[:id])
50+
@purchases = @vendor.purchases.order(issued_at: :desc)
5051
end
5152

5253
def update

app/views/vendors/show.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
</tr>
7575
</thead>
7676
<tbody>
77-
<% @vendor.purchases.order(issued_at: :desc).each do |purchase| %>
77+
<% @purchases.each do |purchase| %>
7878
<tr>
7979
<td><%= purchase.issued_at.strftime("%m/%d/%Y") %></td>
8080
<td><%= purchase.line_items.total %></td>

spec/requests/vendors_requests_spec.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,15 @@
134134

135135
get vendor_path(vendor)
136136

137-
expect(vendor.reload.purchases.order(issued_at: :desc).to_a).to eq([new_purchase, middle_purchase, old_purchase])
138-
expect(response).to be_successful
137+
old_date = old_purchase.issued_at.strftime("%m/%d/%Y")
138+
middle_date = middle_purchase.issued_at.strftime("%m/%d/%Y")
139+
new_date = new_purchase.issued_at.strftime("%m/%d/%Y")
140+
141+
dates = [new_date, middle_date, old_date]
142+
dates.each { |date| expect(response.body).to include(date) }
143+
144+
expect(response.body.index(new_date)).to be < response.body.index(middle_date)
145+
expect(response.body.index(middle_date)).to be < response.body.index(old_date)
139146
end
140147
end
141148

0 commit comments

Comments
 (0)