public async Task DeleteCategoryAsyncTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var dbContext = new ApplicationDbContext(options); dbContext.Categories.Add( new Category { Id = 1, Name = "Test1", }); dbContext.Categories.Add( new Category { Id = 2, Name = "Test2", }); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Category>(dbContext); var service = new CategoriesService(repository); await service.DeleteCategoryAsync(1); Assert.Single(service.AllCategoryNames()); }
public async Task DeleteCategoryPublishesCategoryDeletedEventToEventGrid() { // arrange var fakeCategoriesRepository = new FakeCategoriesRepository(); fakeCategoriesRepository.CategoryDocuments.Add(new CategoryDocument { Id = "fakeid", UserId = "fakeuserid" }); var mockEventGridPublisherService = new Mock <IEventGridPublisherService>(); var service = new CategoriesService( fakeCategoriesRepository, new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, mockEventGridPublisherService.Object); // act await service.DeleteCategoryAsync("fakeid", "fakeuserid").ConfigureAwait(false); // assert mockEventGridPublisherService.Verify( m => m.PostEventGridEventAsync( CategoryEvents.CategoryDeleted, "fakeuserid/fakeid", It.IsAny <CategoryDeletedEventData>()), Times.Once); }
public async Task DeleteCategory_InvalidCategoryId_ReturnsNotFound() { // arrange var service = new CategoriesService(new FakeCategoriesRepository(), new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object); // act var result = await service.DeleteCategoryAsync("fakeid", "fakeuserid"); // assert Assert.Equal(DeleteCategoryResult.NotFound, result); }
public async Task DeleteCategory_DeletesDocumentFromRepository() { // arrange var fakeCategoriesRepository = new FakeCategoriesRepository(); fakeCategoriesRepository.CategoryDocuments.Add(new CategoryDocument { Id = "fakeid", UserId = "fakeuserid" }); var service = new CategoriesService(fakeCategoriesRepository, new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object); // act await service.DeleteCategoryAsync("fakeid", "fakeuserid"); // assert Assert.Empty(fakeCategoriesRepository.CategoryDocuments); }
public async Task DeleteCategory_ReturnsSuccess() { // arrange var fakeCategoriesRepository = new FakeCategoriesRepository(); fakeCategoriesRepository.CategoryDocuments.Add(new CategoryDocument { Id = "fakeid", UserId = "fakeuserid" }); var service = new CategoriesService(fakeCategoriesRepository, new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object); // act var result = await service.DeleteCategoryAsync("fakeid", "fakeuserid"); // assert Assert.Equal(DeleteCategoryResult.Success, result); }
public async Task DeleteCategoryIncorrectUserIdReturnsNotFound() { // arrange var fakeCategoriesRepository = new FakeCategoriesRepository(); fakeCategoriesRepository.CategoryDocuments.Add(new CategoryDocument { Id = "fakeid", UserId = "fakeuserid2" }); var service = new CategoriesService( fakeCategoriesRepository, new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object); // act var result = await service.DeleteCategoryAsync("fakeid", "fakeuserid").ConfigureAwait(false); // assert Assert.AreEqual(DeleteCategoryResult.NotFound, result); }
public async Task DeleteCategoryAsync([FromRoute] Guid categoryId) { await _categoriesService.DeleteCategoryAsync(categoryId); }