Ejemplo n.º 1
0
        public async Task <Domain.Fact> InsertAsync(FactUpdateModel fact)
        {
            var result = await this.Context.AddAsync(this.Mapper.Map <Fact>(fact));

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Domain.Fact>(result.Entity));
        }
Ejemplo n.º 2
0
        public async Task <Domain.Fact> UpdateAsync(FactUpdateModel fact)
        {
            var existing = await this.Get(fact);

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

            this.Context.Update(result);

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Domain.Fact>(result));
        }
Ejemplo n.º 3
0
        public async Task CreateAsync_FieldValidationSucceed_CreatesFact()
        {
            //arrange
            var fact     = new FactUpdateModel();
            var expected = new Fact();

            var fieldGetService = new Mock <IFieldGetService>();

            fieldGetService.Setup(x => x.ValidateAsync(fact));

            var factDataAccess = new Mock <IFactDataAccess>();

            factDataAccess.Setup(x => x.InsertAsync(fact)).ReturnsAsync(expected);

            var factGetService = new FactCreateService(factDataAccess.Object, fieldGetService.Object);

            //act
            var result = await factGetService.CreateAsync(fact);

            //assert
            result.Should().Be(expected);
        }
Ejemplo n.º 4
0
        public async Task CreateAsync_FieldValidationFailed_ThrowsError()
        {
            //arrange
            var fixture  = new Fixture();
            var fact     = new FactUpdateModel();
            var expected = fixture.Create <string>();

            var fieldGetService = new Mock <IFieldGetService>();

            fieldGetService.Setup(x => x.ValidateAsync(fact)).Throws(new InvalidOperationException(expected));

            var factDataAccess = new Mock <IFactDataAccess>();

            var factGetService = new FactCreateService(factDataAccess.Object, fieldGetService.Object);

            //act
            var action = new Func <Task>(() => factGetService.CreateAsync(fact));

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

            factDataAccess.Verify(x => x.InsertAsync(fact), Times.Never);
        }
Ejemplo n.º 5
0
        public async Task <Fact> CreateAsync(FactUpdateModel fact)
        {
            await this.FieldGetService.ValidateAsync(fact);

            return(await this.FactDataAccess.InsertAsync(fact));
        }