Exemple #1
0
        public void It_should_cancel_customer_order()
        {
            // Given
            var customer = new Customer("", 100);
            var repo     = Substitute.For <ICustomerRepository>();

            repo.Load(customer.Id).Returns(customer);
            var controller = new CustomerController(repo);
            var item       = new OrderItem("", 20);
            var orderId    = controller.Order(customer.Id, item);

            // When
            controller.CancelOrder(customer.Id, orderId);

            // Then
            customer.Funds.Should().Be(100);
            customer.Orders.Should().BeEmpty();
            repo.Received().Save(customer);
        }