Пример #1
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #6
0
        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));
 }