public void GetProductByIdSuccessTest() { var repository = new Mock <IProductRepository>(); var errorCollector = new ErrorCollector(); var exportService = new Mock <IExportService>().Object; repository.Setup(r => r.GetProductById(It.IsAny <int>())).Returns(new Product { Id = 1, Code = "T1", Name = "Test 1", Price = 10 }); var service = new ProductService(repository.Object, errorCollector, exportService); var inputModel = new GetProductByIdInputModel { Id = 1 }; var outputModel = service.GetProductById(inputModel); Assert.IsNotNull(outputModel); Assert.IsFalse(errorCollector.Errors.Any()); Assert.IsNotNull(outputModel.Product); }
public void GetProductByIdWithInvalidInputModelTest() { var repository = new Mock <IProductRepository>().Object; var errorCollector = new ErrorCollector(); var exportService = new Mock <IExportService>().Object; var service = new ProductService(repository, errorCollector, exportService); var inputModel = new GetProductByIdInputModel { }; var outputModel = service.GetProductById(inputModel); Assert.IsNull(outputModel); Assert.IsTrue(errorCollector.Errors.Any()); }
public void GetProductByIdButProductDoesNotExistTest() { var repository = new Mock <IProductRepository>().Object; var errorCollector = new ErrorCollector(); var exportService = new Mock <IExportService>().Object; var service = new ProductService(repository, errorCollector, exportService); var inputModel = new GetProductByIdInputModel { Id = 1 }; var outputModel = service.GetProductById(inputModel); Assert.IsNotNull(outputModel); Assert.IsFalse(errorCollector.Errors.Any()); Assert.IsNull(outputModel.Product); }
public GenericResponse <GetProductByIdOutputModel> GetProductById(GetProductByIdInputModel input) { return(CallWebClient <GetProductByIdInputModel, GetProductByIdOutputModel>(CreateServiceCallParameter(input, (request) => _webClient.Get(request).Result, $"Products/{input.Id}", ServiceUrl))); }