mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-14 11:15:48 -04:00
prettify display of orders
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
class OrderItemsController < ApplicationController
|
||||
load_and_authorize_resource
|
||||
|
||||
# GET /order_items
|
||||
# GET /order_items.json
|
||||
def index
|
||||
@order_items = OrderItem.all
|
||||
@order_items = OrderItem.joins(:order).where(:orders => {:member_id => current_member.id})
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
@@ -42,6 +43,7 @@ class OrderItemsController < ApplicationController
|
||||
# POST /order_items.json
|
||||
def create
|
||||
@order_item = OrderItem.new(params[:order_item])
|
||||
@order_item.order = current_member.current_order || Order.create(:member_id => current_member.id)
|
||||
|
||||
respond_to do |format|
|
||||
if @order_item.save
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
class OrdersController < ApplicationController
|
||||
load_and_authorize_resource
|
||||
|
||||
# GET /orders
|
||||
# GET /orders.json
|
||||
def index
|
||||
@orders = Order.all
|
||||
@orders = Order.find_all_by_member_id(current_member.id)
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
%h1 Listing orders
|
||||
- content_for :title, "Order History"
|
||||
|
||||
%table
|
||||
%table.table-striped
|
||||
%tr
|
||||
%th Member
|
||||
%th Order number
|
||||
%th Order began
|
||||
%th Order completed
|
||||
%th Number of items
|
||||
%th
|
||||
%th
|
||||
%th
|
||||
|
||||
- @orders.each do |order|
|
||||
%tr
|
||||
%td= order.member_id
|
||||
%td= link_to 'Show', order
|
||||
%td= link_to 'Edit', edit_order_path(order)
|
||||
%td= link_to 'Destroy', order, :method => :delete, :data => { :confirm => 'Are you sure?' }
|
||||
|
||||
%br
|
||||
|
||||
= link_to 'New Order', new_order_path
|
||||
%td= order.id
|
||||
%td= order.created_at.to_s
|
||||
%td= order.completed_at.to_s
|
||||
%td= order.order_items.count
|
||||
%td= link_to 'Show', order, :class => 'btn btn-small'
|
||||
|
||||
@@ -10,7 +10,10 @@ describe OrderItemsController do
|
||||
|
||||
describe "GET index" do
|
||||
it "assigns all order_items as @order_items" do
|
||||
order_item = OrderItem.create! valid_attributes
|
||||
member = FactoryGirl.create(:member)
|
||||
sign_in member
|
||||
order = FactoryGirl.create(:order, :member_id => member.id)
|
||||
order_item = FactoryGirl.create(:order_item, :order_id => order.id)
|
||||
get :index, {}
|
||||
assigns(:order_items).should eq([order_item])
|
||||
end
|
||||
@@ -57,6 +60,13 @@ describe OrderItemsController do
|
||||
post :create, {:order_item => valid_attributes}
|
||||
response.should redirect_to(OrderItem.last)
|
||||
end
|
||||
|
||||
it 'creates an order for you' do
|
||||
expect {
|
||||
post :create, {:order_item => valid_attributes}
|
||||
}.to change(Order, :count).by(1)
|
||||
OrderItem.last.order.should be_an_instance_of Order
|
||||
end
|
||||
end
|
||||
|
||||
describe "with invalid params" do
|
||||
|
||||
@@ -5,7 +5,7 @@ describe OrdersController do
|
||||
login_member(:admin_member)
|
||||
|
||||
def valid_attributes
|
||||
{ "member_id" => "MyString" }
|
||||
{ "member_id" => 1 }
|
||||
end
|
||||
|
||||
def valid_session
|
||||
@@ -14,7 +14,9 @@ describe OrdersController do
|
||||
|
||||
describe "GET index" do
|
||||
it "assigns all orders as @orders" do
|
||||
order = Order.create! valid_attributes
|
||||
member = FactoryGirl.create(:member)
|
||||
sign_in member
|
||||
order = Order.create!(:member_id => member.id)
|
||||
get :index, {}
|
||||
assigns(:orders).should eq([order])
|
||||
end
|
||||
@@ -22,7 +24,9 @@ describe OrdersController do
|
||||
|
||||
describe "GET show" do
|
||||
it "assigns the requested order as @order" do
|
||||
order = Order.create! valid_attributes
|
||||
member = FactoryGirl.create(:member)
|
||||
sign_in member
|
||||
order = Order.create!(:member_id => member.id)
|
||||
get :show, {:id => order.to_param}
|
||||
assigns(:order).should eq(order)
|
||||
end
|
||||
|
||||
@@ -2,19 +2,17 @@ require 'spec_helper'
|
||||
|
||||
describe "orders/index" do
|
||||
before(:each) do
|
||||
assign(:orders, [
|
||||
stub_model(Order,
|
||||
:member_id => "Member"
|
||||
),
|
||||
stub_model(Order,
|
||||
:member_id => "Member"
|
||||
)
|
||||
])
|
||||
@member = FactoryGirl.create(:member)
|
||||
sign_in @member
|
||||
@order1 = FactoryGirl.create(:order)
|
||||
@order2 = FactoryGirl.create(:completed_order)
|
||||
assign(:orders, [ @order1, @order2 ])
|
||||
end
|
||||
|
||||
it "renders a list of orders" do
|
||||
render
|
||||
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
||||
assert_select "tr>td", :text => "Member".to_s, :count => 2
|
||||
assert_select "tr>td", :text => @order1.id
|
||||
assert_select "tr>td", :text => @order2.id
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user