Esempio n. 1
0
        public async Task Validate(HamsterUpdate model)
        {
            if (model == null)
            {
                throw new NullReferenceException();
            }

            EnsureColorIsValid(model.Color);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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));
            }
        }