public void isExecutable_ValidData_ReturnTrue()
        {
            var beneficiario = getBeneficiario();
            var repositoryReadBeneficiario = Mock.Of <IBeneficiarioRepositoryReadOnly>();

            Mock.Get(repositoryReadBeneficiario).Setup(x => x.exists(It.IsAny <Identidad>())).Returns(false);

            var parentescoNoExistente = getParentescoPadre();
            var dependienteWithParentescoNoExistente = getDependiente(new Identidad("0501198512498"),
                                                                      new Nombre("", "", ""), parentescoNoExistente);

            beneficiario.addDependiente(dependienteWithParentescoNoExistente);

            var repositoryCommandBeneficiario = Mock.Of <IBeneficiarioRepositoryCommands>();
            var repositoryReadParentesco      = Mock.Of <IParentescoReadOnlyRepository>();

            Mock.Get(repositoryReadParentesco).Setup(x => x.exists(It.IsAny <Guid>())).Returns(true);

            var uow = Mock.Of <Func <IUnitOfWork> >();

            Mock.Get(uow).Setup(x => x()).Returns(new DummyUnitOfWork());

            var command = new CommandInsertBeneficiario(repositoryReadBeneficiario, repositoryReadParentesco,
                                                        repositoryCommandBeneficiario, uow);

            var respuesta = command.isExecutable(beneficiario);

            Assert.IsTrue(respuesta);
        }
        public void isExecutable_BeneficiarioAlreadyExists_ReturnFalse()
        {
            var beneficiario = getBeneficiario();
            var repositoryReadBeneficiario = Mock.Of <IBeneficiarioRepositoryReadOnly>();

            Mock.Get(repositoryReadBeneficiario).Setup(x => x.exists(It.IsAny <Identidad>())).Returns(true);

            var repositoryCommandBeneficiario = Mock.Of <IBeneficiarioRepositoryCommands>();
            var repositoryReadParentesco      = Mock.Of <IParentescoReadOnlyRepository>();
            var uow = Mock.Of <Func <IUnitOfWork> >();

            Mock.Get(uow).Setup(x => x()).Returns(new DummyUnitOfWork());

            var command = new CommandInsertBeneficiario(repositoryReadBeneficiario, repositoryReadParentesco,
                                                        repositoryCommandBeneficiario, uow);

            var respuesta = command.isExecutable(beneficiario);

            Assert.IsFalse(respuesta);
        }