From 6881b3bc94de52ca13195287b45fa371f08fa847 Mon Sep 17 00:00:00 2001 From: "Butler, Alexis (UG - Computer Science)" <ab02259@surrey.ac.uk> Date: Fri, 27 Nov 2020 09:05:05 +0000 Subject: [PATCH] Finished order controller tests --- test/controllers/orders_controller_test.rb | 35 +++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/test/controllers/orders_controller_test.rb b/test/controllers/orders_controller_test.rb index ca97052..350d137 100644 --- a/test/controllers/orders_controller_test.rb +++ b/test/controllers/orders_controller_test.rb @@ -1,12 +1,33 @@ require 'test_helper' -#TODO: write controller tests for orders class OrdersControllerTest < ActionDispatch::IntegrationTest - test "should show an order" do - + test 'Should show a specific order when logged in' do + sign_in_as_tester + get order_url(orders(:one)) + assert_response(:success) + assert_select 'body.orders' do + assert_select 'img', 2 #Order 1 has 2 order entries, each will have a row in the table with their image in a cell + end end - - test "should create an order" do - + test 'should not show an order when not logged in' do + get order_url(orders(:one)) + assert_response(:redirect) + assert_redirected_to(login_url) + assert_equal 'Login to view this content', flash[:danger] + end + test 'should create an order' do + sign_in_as_tester + assert_difference('Order.count', +1) do + post orders_url, params: {order: {totalCost: 100, Email: "alternateBillEmail@testfix.com", user:users(:one)}} + end + assert_response(:redirect) + assert_equal 'Order has been placed', flash[:notice] + end + test 'should not create an order when not logged in' do + assert_no_difference('Order.count') do + post orders_url, params: {order: {totalCost: 100, Email: "alternateBillEmail@testfix.com", user:users(:one)}} + end + assert_response(:redirect) + assert_redirected_to(login_url) + assert_equal 'Login to view this content', flash[:danger] end - end -- GitLab