public async Task Handle_GivenInvalidData_ThrowsException() { // Arrange var animal = new AnimalDTO { Id = 99, UserId = "QWERTY1234567890", Kind = "Kind_new_value", Breed = "Breed_new_value", Gender = GenderTypes.Male, Passport = "1234567890QWERTY_new_value", BirthDate = new DateTime(2001, 01, 01), Nickname = "Nickname_new_value", Features = "Features_new_value", IsPublic = true }; var command = new UpdateAnimalCommand { Model = animal }; // Act var handler = new UpdateAnimalCommand.UpdateAnimalCommandHandler(Context); // Assert await Should.ThrowAsync <NotFoundException>(() => handler.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenValidData_ShouldUpdatePersistedAnimal() { // Arrange var animal = new AnimalDTO { Id = 1, UserId = "QWERTY1234567890_One", Kind = "Kind_new_value", Breed = "Breed_new_value", Gender = GenderTypes.Male, Passport = "1234567890QWERTY_new_value", BirthDate = new DateTime(1999, 01, 01), Nickname = "Nickname_new_value", Features = "Features_new_value", IsPublic = true }; var command = new UpdateAnimalCommand { Model = animal }; // Act var handler = new UpdateAnimalCommand.UpdateAnimalCommandHandler(Context); await handler.Handle(command, CancellationToken.None); var entity = Context.Animals.Find(animal.Id); // Assert entity.ShouldNotBeNull(); entity.UserId.ShouldBe(command.Model.UserId); entity.Kind.ShouldBe(command.Model.Kind); entity.Breed.ShouldBe(command.Model.Breed); entity.Passport.ShouldBe(command.Model.Passport); entity.Nickname.ShouldBe(command.Model.Nickname); entity.Features.ShouldBe(command.Model.Features); entity.IsPublic.ShouldBe(command.Model.IsPublic); entity.Gender.ShouldNotBe(command.Model.Gender); entity.BirthDate.ShouldNotBe(command.Model.BirthDate); }