OrderFeatureTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Tests\Feature\Admin\Orders;
  3. use App\Shop\Customers\Customer;
  4. use App\Shop\Orders\Order;
  5. use App\Shop\Orders\Repositories\OrderRepository;
  6. use App\Shop\Products\Product;
  7. use Tests\TestCase;
  8. class OrderFeatureTest extends TestCase
  9. {
  10. /** @test */
  11. public function it_can_search_for_the_order()
  12. {
  13. $customer = factory(Customer::class)->create();
  14. factory(Order::class)->create([
  15. 'customer_id' => $customer->id
  16. ]);
  17. $this
  18. ->actingAs($this->employee, 'employee')
  19. ->get(route('admin.orders.index', ['q' => str_limit($customer->name, 5, '')]))
  20. ->assertStatus(200)
  21. ->assertSee($customer->name);
  22. }
  23. /** @test */
  24. public function it_can_show_the_order()
  25. {
  26. $order = factory(Order::class)->create();
  27. $product = factory(Product::class)->create();
  28. $orderRepo = new OrderRepository($order);
  29. $orderRepo->associateProduct($product);
  30. $this
  31. ->actingAs($this->employee, 'employee')
  32. ->get(route('admin.orders.show', $order->id))
  33. ->assertStatus(200)
  34. ->assertSee($order->reference)
  35. ->assertSee('SKU')
  36. ->assertSee('Name')
  37. ->assertSee('Description')
  38. ->assertSee('Quantity')
  39. ->assertSee('Price');
  40. }
  41. /** @test */
  42. public function it_can_list_all_the_orders()
  43. {
  44. factory(Order::class)->create();
  45. $this
  46. ->actingAs($this->employee, 'employee')
  47. ->get(route('admin.orders.index'))
  48. ->assertStatus(200);
  49. }
  50. }