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); }
public async Task <Operator> CreateAsync(OperatorUpdateModel Operator) { await this.PhoneNumberGetService.ValidateAsync(Operator); return(await this.OperatorDataAccess.InsertAsync(Operator)); }