public UpdateUserDataRequestValidatorTests()
        {
            _fixture             = new Fixture();
            _databaseContext     = Substitute.For <IUserScopedDatabaseReadContext>();
            _fullDatabaseContext = Substitute.For <IDatabaseContext>();
            _imageIdValidator.ImageIdIsAvailable(Arg.Any <Guid>(), Arg.Any <CancellationToken>()).Returns(true);

            _sut = new UpdateUserDataRequestValidator(_databaseContext, _fullDatabaseContext, _imageIdValidator);
        }
        public UpdateDreamRequestValidator(IUserScopedDatabaseReadContext dbContext, IImageIdValidator imageValidator)
        {
            RuleFor(x => x.DreamId).NotNull();
            RuleFor(x => x.DreamId).MustAsync(DreamExists);
            RuleFor(x => x.DisplayName).NotEmpty().When(x => x.DisplayName != null).WithMessage("Nazwa nie może być pusta.");
            RuleFor(d => d.Age).GreaterThan(0).LessThan(121).WithMessage("Wiek pomiędzy 1 a 120 lat");

            RuleFor(x => x.DreamUrl).NotEmpty().When(x => x.DreamUrl != null).WithMessage("Link do marzenia nie może być pusty.");
            RuleFor(x => x.Tags).NotEmpty().When(x => x.Tags != null).WithMessage("Tagi nie mogą być puste.");
            RuleFor(x => x.CategoryId).MustAsync(DreamCategoryExists).When(x => x.CategoryId != null).WithMessage(r => $"Kategoria o Id=[{r.CategoryId}] nie istnieje");
            RuleFor(x => x.DreamImageId).MustAsync(imageValidator.ImageIdIsAvailable).When(a => a.DreamImageId.HasValue).WithMessage("Obraz jest już przypisany do innego elementu.");

            _dbContext = dbContext;
        }
        public UpdateUserDataRequestValidator(IUserScopedDatabaseReadContext userScopedDatabaseReadContext, IDatabaseContext databaseContext, IImageIdValidator imageValidator)
        {
            RuleFor(r => r.UserId)
            .MustAsync((userId, cancellationToken) => userScopedDatabaseReadContext.Users.AnyAsync(u => u.UserId == userId, cancellationToken))
            .WithMessage(r => $"Użytkownik UserId=[{r.UserId}] nie istnieje");
            RuleFor(u => u.Email).NotEmpty().EmailAddress(EmailValidationMode.AspNetCoreCompatible).When(u => u.Email != null).WithMessage("Niepoprawny adres email.");
            RuleFor(u => u.FirstName).MaximumLength(250).NotEmpty().When(u => u.FirstName != null).WithMessage("Imię nie może być dłuższe niż 250 znaków");
            RuleFor(u => u.LastName).MaximumLength(250).NotEmpty().When(u => u.LastName != null).WithMessage("Nazwisko nie może być dłuższe niż 250 znaków");
            RuleFor(u => u.Brand).NotEmpty().When(u => u.Brand != null).WithMessage("Oddział nie może być pusty");
            RuleFor(u => u.PhoneNumber).NotEmpty().When(u => u.PhoneNumber != null).WithMessage("Numer telefonu nie może być pusty");

            RuleFor(u => u.ProfileImageId)
            .MustAsync((id, cancellationToken) => databaseContext.Images.AnyAsync(i => i.ImageId == id, cancellationToken))
            .When(u => u.ProfileImageId.HasValue)
            .WithMessage(a => $"Plik o Id=[{a.ProfileImageId}] nie istnieje");

            RuleFor(u => u.ProfileImageId)
            .MustAsync((id, cancellationToken) => databaseContext.Users.AllAsync(u => u.ProfileImageId != id, cancellationToken))
            .When(u => u.ProfileImageId.HasValue)
            .WithMessage(a => $"Plik o Id=[{a.ProfileImageId}] jest już przypisany do innego konta");

            RuleFor(u => u.ProfileImageId).MustAsync(imageValidator.ImageIdIsAvailable).When(a => a.ProfileImageId.HasValue).WithMessage("Obraz jest już przypisany do innego elementu.");
        }
Example #4
0
 public GetUserRequestValidator(IUserScopedDatabaseReadContext userScopedDatabaseReadContext)
 {
     RuleFor(r => r.UserId)
     .MustAsync((userId, cancellationToken) => userScopedDatabaseReadContext.Users.AnyAsync(u => u.UserId == userId, cancellationToken))
     .WithMessage(r => $"Użytkownik UserId=[{r.UserId}] nie istnieje");
 }
Example #5
0
 public GetSponsorsHandler(IUserScopedDatabaseReadContext userScopedDatabaseReadContext)
 {
     _userScopedDatabaseReadContext = userScopedDatabaseReadContext;
 }
Example #6
0
 public GetDreamHandler(IUserScopedDatabaseReadContext databaseContext)
 {
     _databaseContext = databaseContext;
 }
Example #7
0
 public GetProfileImageHandler(IUserScopedDatabaseReadContext userScopedDatabaseReadContext)
 {
     _userScopedDatabaseReadContext = userScopedDatabaseReadContext;
 }
Example #8
0
 public GetUsersHandler(IUserScopedDatabaseReadContext databaseContext, ICurrentUserService currentUserService)
 {
     _databaseContext    = databaseContext;
     _currentUserService = currentUserService;
 }