Ejemplo n.º 1
0
        public async Task UpdateAsync_CartoonValidationFailed_ThrowsError()
        {
            // Arrange
            var fixture  = new Fixture();
            var cartoon  = new CartoonUpdateModel();
            var expected = fixture.Create <string>();

            var genreGetService = new Mock <IGenreGetService>();

            genreGetService
            .Setup(x => x.ValidateAsync(cartoon))
            .Throws(new InvalidOperationException(expected));


            var cartoonDataAccess = new Mock <ICartoonDataAccess>();

            var cartoonGetService = new CartoonUpdateService(cartoonDataAccess.Object, genreGetService.Object);

            // Act
            var action = new Func <Task>(() => cartoonGetService.UpdateAsync(cartoon));

            // Assert
            await action.Should().ThrowAsync <InvalidOperationException>().WithMessage(expected);

            cartoonDataAccess.Verify(x => x.UpdateAsync(cartoon), Times.Never);
        }
Ejemplo n.º 2
0
        public async Task <Cartoon> InsertAsync(CartoonUpdateModel cartoonUpdateModel)
        {
            var result = await this.Context.AddAsync(this.Mapper.Map <DataAccess.Entities.Cartoon>(cartoonUpdateModel));

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Cartoon>(result.Entity));
        }
Ejemplo n.º 3
0
        public async Task <Cartoon> UpdateAsync(CartoonUpdateModel cartoonUpdateModel)
        {
            var existing = await this.Get(cartoonUpdateModel);

            var result = this.Mapper.Map(cartoonUpdateModel, existing);

            this.Context.Update(result);

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Cartoon>(result));
        }
Ejemplo n.º 4
0
        public async Task UpdateAsync_CartoonValidationSucceed_CreatesScreening()
        {
            // Arrange
            var cartoon  = new CartoonUpdateModel();
            var expected = new Cartoon();

            var genreGetService = new Mock <IGenreGetService>();

            genreGetService.Setup(x => x.ValidateAsync(cartoon));

            var cartoonDataAccess = new Mock <ICartoonDataAccess>();

            cartoonDataAccess.Setup(x => x.UpdateAsync(cartoon)).ReturnsAsync(expected);

            var cartoonGetService = new CartoonUpdateService(cartoonDataAccess.Object, genreGetService.Object);

            // Act
            var result = await cartoonGetService.UpdateAsync(cartoon);

            // Assert
            result.Should().Be(expected);
        }
Ejemplo n.º 5
0
        public async Task <Cartoon> UpdateAsync(CartoonUpdateModel cartoonUpdateModel)
        {
            await GenreGetService.ValidateAsync(cartoonUpdateModel);

            return(await CartoonDataAccess.UpdateAsync(cartoonUpdateModel));
        }