public void Update_GivenInvalidCustomer_ThereIsNoUpdateAndSave()
        {
            //arrange
            var invalidCustomer = new CustomerForTestsBuilder().BuildInvalid();

            //act
            Record.Exception(() => customerService.Update(invalidCustomer));

            //assert
            A.CallTo(() => customerRepository.Update(invalidCustomer))
            .MustNotHaveHappened();
            A.CallTo(() => unitOfWork.SaveChanges())
            .MustNotHaveHappened();
        }
        public void Update_GivenValidCustomer_CustomerIsUpdatedAndSaved()
        {
            //arrange
            var customer = new CustomerForTestsBuilder().Build();

            //act
            customerService.Update(customer);

            //assert
            A.CallTo(() => customerRepository.Update(customer))
            .MustHaveHappened(Repeated.Exactly.Once);
            A.CallTo(() => unitOfWork.SaveChanges())
            .MustHaveHappened(Repeated.Exactly.Once);
        }