public void CreateCategoryShouldSetDeletedToFalseIfProductAlreadyExistsAndIsDeletedIsTrue() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"CreateCategoryShouldCreateCategory_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString(); var categoryName1 = Guid.NewGuid().ToString(); var model = new CreateCategoryBindingModel { Name = categoryName }; var model1 = new CreateCategoryBindingModel { Name = categoryName1 }; categoriesService.CreateCategory(model); categoriesService.CreateCategory(model1); var categoryToRemove = dbContext.Categories.FirstOrDefault(x => x.Name == categoryName); categoryToRemove.IsDeleted = true; dbContext.Categories.Update(categoryToRemove); dbContext.SaveChanges(); var category1 = categoriesService.CreateCategory(model); Assert.NotNull(category1); Assert.True(category1.IsDeleted == false); }
public void RemoveCategoryShouldSetIsDeletedToTrue() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"RemoveCategoryShouldSetIsDeletedToTrue_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString(); var categoryName1 = Guid.NewGuid().ToString(); var model = new CreateCategoryBindingModel { Name = categoryName }; var model1 = new CreateCategoryBindingModel { Name = categoryName1 }; categoriesService.CreateCategory(model); categoriesService.CreateCategory(model1); categoriesService.RemoveCategory(model); var category1 = categoriesService.CreateCategory(model); Assert.NotNull(category1); Assert.True(category1.IsDeleted == false); }
public void FindAllCategoriesShouldReturnOnlyCategoriesWhereIsDeletedIsFalse() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"FindAllCategoriesShouldReturnOnlyCategoriesWhereIsDeletedIsFalse_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString(); var categoryName1 = Guid.NewGuid().ToString(); var categoryName2 = Guid.NewGuid().ToString(); var model = new CreateCategoryBindingModel { Name = categoryName }; var model1 = new CreateCategoryBindingModel { Name = categoryName1 }; var model2 = new CreateCategoryBindingModel { Name = categoryName2 }; categoriesService.CreateCategory(model); categoriesService.CreateCategory(model1); categoriesService.CreateCategory(model2); categoriesService.RemoveCategory(model); categoriesService.RemoveCategory(model1); var categories = categoriesService.FindAllCategories(); Assert.True(categories.Count == 1); }
public IActionResult CreateCategory([FromBody] CategoryInputModel category) { if (ModelState.IsValid) { int id = _categoriesService.CreateCategory(category); return(CreatedAtRoute("GetCategoryById", new { id }, null)); } return(StatusCode(412, category)); }
public void Create_Category_Test() { var result = service.CreateCategory("test"); var cat = new Category() { Name = "Test" }; Assert.Equal(cat.Name, result.Name); }
public IActionResult CreateCategory([FromBody] CategoryInputModel body) { if (!ModelState.IsValid) { throw new ModelFormatException("Model not properly formatted"); } var entity = _categoriesService.CreateCategory(body); return(CreatedAtRoute("GetCategoryById", new { categoryId = entity.Id }, null)); }
public void CreateCategoryShouldntCreateCategoryAndShouldReturnNullIfAlreadyExists() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"CreateCategoryShouldntCreateCategoryAndShouldReturnNullIfAlreadyExists_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString(); var model = new CreateCategoryBindingModel { Name = categoryName }; categoriesService.CreateCategory(model); var category1 = categoriesService.CreateCategory(model); Assert.True(dbContext.Categories.Count() == 1); Assert.Null(category1); }
public ActionResult Category_Create([DataSourceRequest] DataSourceRequest request, Category category) { try { if (category != null && ModelState.IsValid) { _categoriesService.CreateCategory(category); } return(Json(new[] { category }.ToDataSourceResult(request, ModelState))); } catch (Exception) { return(Json(new DataSourceResult { Errors = "A server error has occurred!" })); } }
GivenValidCreateCategory_ThenMapperShouldBeCalledWithCorrectArguments() { var expectedCategoryDto = new CategoryDto { CategoryName = "testname", TransactionType = TransactionType.Expense, Subcategories = new List <string> { "test1", "test2" } }; _mockMapper.Setup(mapper => mapper.Map <Category>(It.IsAny <CategoryDto>())).Returns(new Category()); var service = new CategoriesService(_mockCurrentUserContext.Object, _mockRepository.Object, _mockMapper.Object); await service.CreateCategory(expectedCategoryDto); _mockMapper.Verify(mapper => mapper.Map <Category>(expectedCategoryDto)); }
GivenCategoryDto_ThenRepositoryCreateCategoryInvokedWithCorrectArgument() { const string expectedUserId = "userId-123"; _mockCurrentUserContext.SetupGet(context => context.UserId).Returns(expectedUserId); const string expectedCategoryName = "categoryName"; var expectedTransactionType = TransactionType.Expense; var expectedSubcategories = new List <string> { "sub1", "sub2" }; var inputDto = new CategoryDto { CategoryName = expectedCategoryName, TransactionType = expectedTransactionType, Subcategories = expectedSubcategories }; var expectedCategory = new Category { UserId = expectedUserId, CategoryName = expectedCategoryName, TransactionType = expectedTransactionType, Subcategories = expectedSubcategories, }; _mockMapper.Setup(mapper => mapper.Map <Category>(It.IsAny <CategoryDto>())).Returns(new Category { CategoryName = expectedCategoryName, Subcategories = expectedSubcategories }); var service = new CategoriesService(_mockCurrentUserContext.Object, _mockRepository.Object, _mockMapper.Object); await service.CreateCategory(inputDto); _mockRepository.Verify(repository => repository.CreateCategory(expectedCategory)); }
public void RemoveCategoryShouldReturnNullIfCategoriesCountIs1() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"RemoveCategoryShouldReturnNullIfCategoriesCountIs1_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString(); var model = new CreateCategoryBindingModel { Name = categoryName }; categoriesService.CreateCategory(model); var category = categoriesService.RemoveCategory(model); Assert.Null(category); }
public void CreateCategoryShouldCreateCategory() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: $"CreateCategoryShouldCreateCategory_Category_Database") .Options; var dbContext = new ApplicationDbContext(options); var mapper = this.SetUpAutoMapper(); var categoriesService = new CategoriesService(dbContext, mapper); var categoryName = Guid.NewGuid().ToString().Substring(0, 15); var model = new CreateCategoryBindingModel { Name = categoryName }; var category = categoriesService.CreateCategory(model); Assert.True(dbContext.Categories.Count() == 1); Assert.True(category.Name == categoryName); }