Esempio n. 1
0
        public void Should_validate_command()
        {
            var command       = new DeleteModuleType();
            var moduleType    = new ModuleType();
            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            moduleType.Delete(command, validatorMock.Object);

            validatorMock.Verify(x => x.Validate(command));
        }
Esempio n. 2
0
        public void Should_set_module_type_status_to_deleted()
        {
            var command       = new DeleteModuleType();
            var moduleType    = new ModuleType();
            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            moduleType.Delete(command, validatorMock.Object);

            Assert.AreEqual(true, moduleType.Status == ModuleTypeStatus.Deleted);
        }
Esempio n. 3
0
        public void Should_throw_exception_when_already_deleted()
        {
            var command       = new DeleteModuleType();
            var moduleType    = new ModuleType();
            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            moduleType.Delete(command, validatorMock.Object);

            Assert.Throws <Exception>(() => moduleType.Delete(command, validatorMock.Object));
        }
Esempio n. 4
0
        public void Should_set_id_in_module_type_deleted_event()
        {
            var command       = new DeleteModuleType();
            var moduleType    = new ModuleType();
            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            moduleType.Delete(command, validatorMock.Object);

            var @event = moduleType.Events.OfType <ModuleTypeDeleted>().SingleOrDefault();

            Assert.AreEqual(moduleType.Id, @event.AggregateRootId);
        }
Esempio n. 5
0
        public void Should_add_module_type_deleted_event()
        {
            var command       = new DeleteModuleType();
            var moduleType    = new ModuleType();
            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            moduleType.Delete(command, validatorMock.Object);

            var @event = moduleType.Events.OfType <ModuleTypeDeleted>().SingleOrDefault();

            Assert.IsNotNull(@event);
        }
Esempio n. 6
0
        public void Delete(DeleteModuleType cmd, IValidator <DeleteModuleType> validator)
        {
            if (Status == ModuleTypeStatus.Deleted)
            {
                throw new Exception("Module type already deleted.");
            }

            validator.ValidateCommand(cmd);

            AddEvent(new ModuleTypeDeleted
            {
                AggregateRootId = Id
            });
        }
Esempio n. 7
0
        public void Should_throw_exception_when_module_type_is_not_found()
        {
            var command = new DeleteModuleType
            {
                Id = Guid.NewGuid()
            };

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns((ModuleType)null);

            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            var deleteModuleTypeHandler = new DeleteModuleTypeHandler(repositoryMock.Object, validatorMock.Object);

            Assert.Throws <Exception>(() => deleteModuleTypeHandler.Handle(command));
        }
Esempio n. 8
0
        public void Should_update_module_type()
        {
            var command = new DeleteModuleType
            {
                Id = Guid.NewGuid()
            };

            var moduleTypeMock = new Mock <ModuleType>();

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns(moduleTypeMock.Object);

            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            var deleteModuleTypeHandler = new DeleteModuleTypeHandler(repositoryMock.Object, validatorMock.Object);

            deleteModuleTypeHandler.Handle(command);

            repositoryMock.Verify(x => x.Update(It.IsAny <ModuleType>()));
        }
Esempio n. 9
0
        public void Should_throw_validation_exception_when_validation_fails()
        {
            var command = new DeleteModuleType
            {
                Id = Guid.NewGuid()
            };

            var moduleTypeMock = new Mock <ModuleType>();

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns(moduleTypeMock.Object);

            var validatorMock = new Mock <IValidator <DeleteModuleType> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult(new List <ValidationFailure> {
                new ValidationFailure("Id", "Id Error")
            }));

            var deleteModuleTypeHandler = new DeleteModuleTypeHandler(repositoryMock.Object, validatorMock.Object);

            Assert.Throws <Exception>(() => deleteModuleTypeHandler.Handle(command));
        }