public async Task Validate(HamsterUpdate model) { if (model == null) { throw new NullReferenceException(); } EnsureColorIsValid(model.Color); }
public async Task Validate(HamsterUpdate model) { if (model == null) { throw new ArgumentNullException(); } if (DbContext.Hamsters.Any(c => c.Name.ToLower() == model.Name.ToLower() && c.Id != model.Id)) { throw new DuplicateHamsterException(model.Name); } }
public async Task ValidateHandler_ThrowsIfNotOwner() { using (var context = new TestContext()) { var hamster = new Hamster { Color = ColorType.Gray, Name = "Ronald Rump", CreatedById = Guid.NewGuid().ToString() }; await context.DbContext.Hamsters.AddAsync(hamster); await context.DbContext.SaveChangesAsync(); var update = new HamsterUpdate { Id = hamster.Id, Color = ColorType.Gray, Name = hamster.Name }; await Assert.ThrowsAsync <HamsterAccessException>(async() => await context.ValidationHandler.ValidateRulesFor(update)); } }