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());
        }
Example #2
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
 public async Task DeleteCategoryAsync([FromRoute] Guid categoryId)
 {
     await _categoriesService.DeleteCategoryAsync(categoryId);
 }