public async Task AddCategory_ReturnsDocumentId()
        {
            // arrange
            var service = new CategoriesService(new FakeCategoriesRepository(), new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object);

            // act
            var result = await service.AddCategoryAsync("name", "fakeuserid");

            // assert
            Assert.NotNull(result);
            Assert.NotEmpty(result);
        }
        public async Task AddCategory_AddsDocumentToRepository()
        {
            // arrange
            var fakeCategoriesRepository = new FakeCategoriesRepository();
            var service = new CategoriesService(fakeCategoriesRepository, new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, new Mock <IEventGridPublisherService>().Object);

            // act
            await service.AddCategoryAsync("name", "fakeuserid");

            // assert
            Assert.Equal(1, fakeCategoriesRepository.CategoryDocuments.Count);
            Assert.Contains(fakeCategoriesRepository.CategoryDocuments, d => d.Name == "name" && d.UserId == "fakeuserid");
        }
        public async Task AddCategory_PublishesCategoryCreatedEventToEventGrid()
        {
            // arrange
            var mockEventGridPublisherService = new Mock <IEventGridPublisherService>();
            var service = new CategoriesService(new FakeCategoriesRepository(), new Mock <IImageSearchService>().Object, new Mock <ISynonymService>().Object, mockEventGridPublisherService.Object);

            // act
            var categoryId = await service.AddCategoryAsync("name", "fakeuserid");

            // assert
            mockEventGridPublisherService.Verify(m =>
                                                 m.PostEventGridEventAsync(EventTypes.Categories.CategoryCreated,
                                                                           $"fakeuserid/{categoryId}",
                                                                           It.Is <CategoryCreatedEventData>(d => d.Name == "name")),
                                                 Times.Once);
        }
        public async Task AddCategoryReturnsDocumentId()
        {
            var fakeCategoriesRepository = new FakeCategoriesRepository();

            // arrange
            var service = new CategoriesService(
                fakeCategoriesRepository,
                new Mock <IImageSearchService>().Object,
                new Mock <ISynonymService>().Object,
                new Mock <IEventGridPublisherService>().Object);

            // act
            var result = await service.AddCategoryAsync("name", "fakeuserid").ConfigureAwait(false);

            // assert
            Assert.IsNotNull(result);
            Assert.IsFalse(string.IsNullOrEmpty(result));
        }
Ejemplo n.º 5
0
 public async Task <Guid> AddCategoryAsync([FromBody] AddCategoryBindingModel model)
 {
     return(await _categoriesService.AddCategoryAsync(model));
 }
Ejemplo n.º 6
0
 public async Task <ActionResult <IEnumerable <Category> > > Post([FromBody] Category category)
 {
     return(await _service.AddCategoryAsync(category.Name));
 }