예제 #1
0
        public async Task AddAuthorCommandHandler_WithExperiences_ReturnsAuthor()
        {
            var image = await AddImage();

            var experiences   = new List <ExperienceDto>();
            var experienceDto = new ExperienceDto()
            {
                Color   = "#000000",
                Name    = "Testfile",
                ImageId = image.Id
            };

            experiences.Add(experienceDto);

            var authorValidator         = new AuthorValidator(RequestDbContext);
            var addAuthorCommandHandler = new AddAuthorCommandHandler(TestContext.CreateHandlerContext <AuthorViewModel>(RequestDbContext, CreateMapper()), _userService, authorValidator);
            var message = new AddAuthorCommand()
            {
                FirstName = "Tom", LastName = "Bina", About = "About me", Experiences = experiences
            };

            var result = await addAuthorCommandHandler.Handle(message, CancellationToken.None);

            Assert.Equal("Testfile", result.Experiences.First().Name = experienceDto.Name);
        }
예제 #2
0
        public async Task AddAuthorCommandHandler_AddingSecondTime_ThrowsException()
        {
            await AddAuthor();

            var authorValidator         = new AuthorValidator(RequestDbContext);
            var addAuthorCommandHandler = new AddAuthorCommandHandler(TestContext.CreateHandlerContext <AuthorViewModel>(RequestDbContext, CreateMapper()), _userService, authorValidator);
            var message = new AddAuthorCommand()
            {
                FirstName = "Tom", LastName = "Bina", About = "About me"
            };

            await Assert.ThrowsAsync <InvalidOperationException>(async() =>
            {
                await addAuthorCommandHandler.Handle(message, CancellationToken.None);
            });
        }