public async Task UpdateValidationAsync_Null_UnSucces() { // Arrange MockData( isExistDutyStation: true, isExistDutyStationById: true ); DutyStation entity = null; var listError = new Dictionary <string, string>() { { nameof(DutyStation), string.Format(BaseValidation.ObjectNotCanBeNull, nameof(DutyStation)) } }; // Act var result = await _validation.UpdateValidationAsync(entity); // Assert Assert.Multiple(() => { Assert.NotNull(result.Errors); Assert.IsNotEmpty(result.Errors); Assert.IsFalse(result.IsValid); foreach (var error in result.Errors) { Assert.IsTrue(listError.ContainsKey(error.Key)); Assert.AreEqual(listError[error.Key], error.Value); } }); }
public async Task <DutyStation> UpdateAsync(DutyStation entity, CancellationToken cancellationToken) { db.DutyStations.Update(entity); await db.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <ValidationModel <DutyStation> > UpdateValidationAsync(DutyStation newEntity, CancellationToken cancellationToken = default) { if (newEntity is not null) { if (!await dataDutyStation.ExistByIdAsync(newEntity.Id, cancellationToken)) { validation.Errors.Add(nameof(DutyStation), string.Format(BaseValidation.ObjectNotExistById, nameof(DutyStation), newEntity.Id)); } else if (await dataDutyStation.ExistAsync(newEntity, cancellationToken)) { validation.Errors.Add(nameof(DutyStation), string.Format(BaseValidation.ObjectExistWithThisData, nameof(DutyStation))); } if (newEntity.Place is null) { validation.Errors.Add(nameof(DutyStation.Place), string.Format(BaseValidation.FieldNotCanBeNull, nameof(DutyStation.Place))); } else if (newEntity.Place.Length < 3 || newEntity.Place.Length > 512) { validation.Errors.Add(nameof(DutyStation.Place), string.Format(BaseValidation.FieldInvalidLength, nameof(DutyStation.Place), 3, 512)); } } else { validation.Errors.Add(nameof(DutyStation), string.Format(BaseValidation.ObjectNotCanBeNull, nameof(DutyStation))); } return(validation); }
public async Task TestUpdateAsync() { // Arrange var random = new Random(0); var number = random.Next(5); var entity = GetList()[number]; await _service.InsertAsync(entity); _dbContext.Entry(entity).State = EntityState.Detached; entity = new DutyStation() { Id = entity.Id, Place = "ул. Ленина 42, Глубокое", CreatedAt = DateTime.Now.AddMinutes(60), UpdatedAt = DateTime.Now.AddMinutes(60) }; await _service.UpdateAsync(entity); _dbContext.Entry(entity).State = EntityState.Detached; // Act var result = await _service.GetAsync(entity.Id); _dbContext.Entry(result).State = EntityState.Detached; // Assert Assert.Multiple(() => { Assert.IsTrue(entity.Place == result.Place); Assert.IsTrue(entity.CreatedAt == result.CreatedAt); Assert.IsTrue(entity.UpdatedAt == result.UpdatedAt); }); }
public async Task <DutyStation> InsertAsync(DutyStation entity, CancellationToken cancellationToken) { await db.DutyStations.AddAsync(entity, cancellationToken); await db.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <ValidationModel <DutyStation> > InsertAsync(DutyStation newEntity, CancellationToken cancellationToken = default) { var validation = await dutyStationValidation.InsertValidationAsync(newEntity, cancellationToken); if (!validation.IsValid) { return(validation); } newEntity.CreatedAt = DateTime.Now; newEntity.UpdatedAt = DateTime.Now; validation.Result = await dataDutyStation.InsertAsync(newEntity, cancellationToken); return(validation); }
private void MockData( DutyStation dutyStation = default, IEnumerable <DutyStation> dutyStationList = default, ValidationModel <DutyStation> validationDutyStation = default ) { _dataDutyStation.Setup(x => x.GetAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(dutyStation); _dataDutyStation.Setup(x => x.GetAllAsync(It.IsAny <CancellationToken>())).ReturnsAsync(dutyStationList); _dataDutyStation.Setup(x => x.InsertAsync(It.IsAny <DutyStation>(), It.IsAny <CancellationToken>())).ReturnsAsync(dutyStation); _dataDutyStation.Setup(x => x.UpdateAsync(It.IsAny <DutyStation>(), It.IsAny <CancellationToken>())).ReturnsAsync(dutyStation); _dataDutyStation.Setup(x => x.DeleteAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())); _dutyStationValidation.Setup(x => x.GetValidationAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(validationDutyStation); _dutyStationValidation.Setup(x => x.InsertValidationAsync(It.IsAny <DutyStation>(), It.IsAny <CancellationToken>())).ReturnsAsync(validationDutyStation); _dutyStationValidation.Setup(x => x.UpdateValidationAsync(It.IsAny <DutyStation>(), It.IsAny <CancellationToken>())).ReturnsAsync(validationDutyStation); _dutyStationValidation.Setup(x => x.DeleteValidationAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(validationDutyStation); _service = new DutyStationService(_dataDutyStation.Object, _dutyStationValidation.Object); }
public async Task <bool> ExistAsync(DutyStation entity, CancellationToken cancellationToken) { return(await db.DutyStations.AnyAsync(db => db.Place == entity.Place, cancellationToken)); }