public async Task CallNotCreatedCallbackWhenBearIsValid()
        {
            var wrongBearCreating        = new BearCreating();
            var mockedNotCreatedCallback = new Mock <NotCreatedCallback <AnimalCreating> >();
            var command = new AnimalRegistrationCommand(null);

            await command.ExecuteAsync <BearCreating, BearDetails>(wrongBearCreating, null, mockedNotCreatedCallback.Object);

            mockedNotCreatedCallback.Verify(callback => callback(It.IsNotNull <BearCreatingError>()), Times.Once);
        }
        public void ReturnModelWhenBearIsValid()
        {
            var mockedValidator = new Mock <IValidator <BearCreating> >();
            var model           = new BearCreating(mockedValidator.Object);

            mockedValidator.Setup(v => v.Validate(model, It.IsNotNull <Action <IEnumerable <Error> > >()))
            .Returns(true);

            var actualValue = model.Validate();

            actualValue.Should().Be(model);
        }