public async Task CreateAsync_PhoneNumberValidationFailed_ThrowsError()
        {
            // Arrange
            var fixture  = new Fixture();
            var Operator = new OperatorUpdateModel();
            var expected = fixture.Create <string>();

            var PhoneNumberGetService = new Mock <IPhoneNumberGetService>();

            PhoneNumberGetService
            .Setup(x => x.ValidateAsync(Operator))
            .Throws(new InvalidOperationException(expected));

            var OperatorDataAccess = new Mock <IOperatorDataAccess>();

            var OperatorGetService = new OperatorCreateService(OperatorDataAccess.Object, PhoneNumberGetService.Object);

            // Act
            var action = new Func <Task>(() => OperatorGetService.CreateAsync(Operator));

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

            OperatorDataAccess.Verify(x => x.InsertAsync(Operator), Times.Never);
        }
        public async Task <Operator> InsertAsync(OperatorUpdateModel Operator)
        {
            var result = await this.Context.AddAsync(this.Mapper.Map <Operator>(Operator));

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Operator>(result.Entity));
        }
        public async Task <Operator> UpdateAsync(OperatorUpdateModel Operator)
        {
            var existing = await this.Get(Operator);

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

            this.Context.Update(result);

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Operator>(result));
        }
        public async Task CreateAsync_PhoneNumberValidationSucceed_CreatesOperator()
        {
            // Arrange
            var Operator = new OperatorUpdateModel();
            var expected = new Operator();

            var PhoneNumberGetService = new Mock <IPhoneNumberGetService>();

            PhoneNumberGetService.Setup(x => x.ValidateAsync(Operator));

            var OperatorDataAccess = new Mock <IOperatorDataAccess>();

            OperatorDataAccess.Setup(x => x.InsertAsync(Operator)).ReturnsAsync(expected);

            var OperatorGetService = new OperatorCreateService(OperatorDataAccess.Object, PhoneNumberGetService.Object);

            // Act
            var result = await OperatorGetService.CreateAsync(Operator);

            // Assert
            result.Should().Be(expected);
        }
Beispiel #5
0
        public async Task <Operator> CreateAsync(OperatorUpdateModel Operator)
        {
            await this.PhoneNumberGetService.ValidateAsync(Operator);

            return(await this.OperatorDataAccess.InsertAsync(Operator));
        }