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