public void SetCustomers_CustomerNullReference_ThrowsException()
        {
            // arrange
            Mock<IRepository> mockedRepository = CreateMockedRepository();
            var service = new CustomerService(mockedRepository.Object);

            // act
            service.SetCustomers(null);
        }
        public void GetCustomers_ReturnsAllAvailableCustomers()
        {
            // arrange
            Mock<IRepository> mockedRepository = CreateMockedRepository();
            var service = new CustomerService(mockedRepository.Object);

            // act
            CustomerInfo[] customers = service.GetCustomers();

            // assert
            Assert.AreEqual(2, customers.Count());
        }
        public void RemoveCustomer_RequestExistingCustomerId_RemovesCustomerInRepository()
        {
            // arrange
            Mock<IRepository> mockedRepository = CreateMockedRepository();
            var service = new CustomerService(mockedRepository.Object);

            // act
            service.RemoveCustomer(1);

            // assert
            mockedRepository.Verify(p => p.RemoveCustomer(1));
        }
        public void SetCustomers_RequestNotExistingEmployees_SetsEmployeesInRepository()
        {
            // arrange
            Mock<IRepository> mockedRepository = CreateMockedRepository();
            var service = new CustomerService(mockedRepository.Object);

            const int customerId1 = 23;
            const int customerId2 = 24;

            var customerInfos = new[]
            {
                new CustomerInfo { Id = customerId1 },
                new CustomerInfo { Id = customerId2 },
            };

            // act
            service.SetCustomers(customerInfos);

            // assert
            mockedRepository.Verify(p => p.SetCustomerBatch(It.Is<IEnumerable<Customer>>(c => c.Count() == 2)));
        }
        public void SetCustomer_RequestNotExistingCustomer_SetsCustomerInRepository()
        {
            // arrange
            Mock<IRepository> mockedRepository = CreateMockedRepository();
            var service = new CustomerService(mockedRepository.Object);

            const int customerId = 23;
            var customerInfo = new CustomerInfo
            {
                Id = customerId
            };

            // act
            service.SetCustomer(customerInfo);

            // assert
            mockedRepository.Verify(p => p.SetCustomer(It.Is<Customer>(c => c.Id == customerId)));
        }