public void Should_delete_provider_on_delete_when_given_valid_vehicle_id()
        {
            //Arrange
            var _providerRepo = new Mock <IRepository <ServiceProviderModel> >();

            var id = Guid.NewGuid();

            _providerRepo.Setup(setup => setup.Read()).Returns(new System.Collections.Generic.List <ServiceProviderModel>()
            {
                new ServiceProviderModel()
                {
                    Id = id
                }
            });
            _serviceRepo.Setup(setup => setup.Read()).Returns(new System.Collections.Generic.List <ServiceModel> {
                new ServiceModel {
                    ProviderId = Guid.NewGuid()
                }
            });

            _controller = new ServiceProvidersController(_providerRepo.Object, _serviceRepo.Object);

            //Act
            var result = JsonConvert.DeserializeObject <ResultModel>(_controller.Delete(id.ToString()));

            //Assert
            _providerRepo.Verify(mock => mock.Remove(It.IsAny <ServiceProviderModel>()));
        }
        public void Should_not_delete_provider_on_delete_when_provider_being_used_in_service()
        {
            //Arrange
            var _providerRepo = new Mock <IRepository <ServiceProviderModel> >();

            var id = Guid.NewGuid();

            _providerRepo.Setup(setup => setup.Read()).Returns(new System.Collections.Generic.List <ServiceProviderModel>()
            {
                new ServiceProviderModel()
                {
                    Id = Guid.NewGuid()
                }
            });
            _serviceRepo.Setup(setup => setup.Read()).Returns(new System.Collections.Generic.List <ServiceModel> {
                new ServiceModel {
                    ProviderId = id
                }
            });
            _controller = new ServiceProvidersController(_providerRepo.Object, _serviceRepo.Object);

            //Act
            var result = JsonConvert.DeserializeObject <ResultModel>(_controller.Delete(Guid.NewGuid().ToString()));

            //Assert
            Assert.True(result.IsError);
        }