public static async Task GetAsync_OrderDoesNotExist_ReturnsNotFound(
            [Frozen] Mock <ISupplierSectionService> service,
            CallOffId callOffId,
            SupplierSectionController controller)
        {
            service.Setup(o => o.GetOrder(callOffId)).ReturnsAsync((Order)null);
            var response = await controller.GetAsync(callOffId);

            response.Should().NotBeNull();
            response.Result.Should().BeOfType <NotFoundResult>();
        }
        public static async Task GetAsync_InvokesGetOrder(
            [Frozen] Mock <ISupplierSectionService> service,
            [Frozen] CallOffId callOffId,
            Order order,
            SupplierSectionController controller)
        {
            order.Supplier.Should().NotBeNull();
            service.Setup(o => o.GetOrder(callOffId)).ReturnsAsync(order);

            await controller.GetAsync(callOffId);

            service.Verify(o => o.GetOrder(callOffId), () => Times.AtMost(1));
        }
        public static async Task GetAsync_OrderIdExists_SupplierSectionDetailsReturned(
            [Frozen] Mock <ISupplierSectionService> service,
            [Frozen] CallOffId callOffId,
            Order order,
            SupplierSectionController controller)
        {
            order.Supplier.Should().NotBeNull();
            order.SupplierContact.Should().NotBeNull();
            service.Setup(o => o.GetOrder(callOffId)).ReturnsAsync(order);

            var expectedValue = new SupplierModel(order.Supplier, order.SupplierContact);

            var response = await controller.GetAsync(callOffId);

            response.Value.Should().BeEquivalentTo(expectedValue);
        }