public async Task HandlingCreateReqDefinitionCommand_ShouldAddReqDefinitionToRepositoryWithFields()
        {
            // Arrange
            _command = new CreateRequirementDefinitionCommand(1, 10, Usage, RequirementDefinitionTitle, DefaultWeeks,
                                                              new List <FieldsForCommand>
            {
                new FieldsForCommand("Label", FieldType.CheckBox, 99, "U", true)
            });

            // Act
            var result = await _dut.Handle(_command, default);

            // Assert
            var reqDef = _reqTypeAdded.RequirementDefinitions.First();

            Assert.AreEqual(0, result.Errors.Count);
            Assert.AreEqual(1, reqDef.Fields.Count);

            var field = reqDef.Fields.Single();

            Assert.AreEqual("Label", field.Label);
            Assert.AreEqual(FieldType.CheckBox, field.FieldType);
            Assert.AreEqual(99, field.SortKey);
            Assert.AreEqual("U", field.Unit);
            Assert.IsTrue(field.ShowPrevious.HasValue);
            Assert.IsTrue(field.ShowPrevious.Value);
        }
        public void Setup_OkState()
        {
            _requirementTypeValidatorMock = new Mock <IRequirementTypeValidator>();
            _requirementTypeValidatorMock.Setup(r => r.ExistsAsync(_reqTypeId, default)).Returns(Task.FromResult(true));

            _command = new CreateRequirementDefinitionCommand(_reqTypeId, _sortKey, Usage, _title, 4, _fields);
            _dut     = new CreateRequirementDefinitionCommandValidator(_requirementTypeValidatorMock.Object);
        }
        public void Constructor_ShouldSetProperties()
        {
            var dut = new CreateRequirementDefinitionCommand(1, 10, RequirementUsage.ForAll, "title", 4);

            Assert.AreEqual("title", dut.Title);
            Assert.AreEqual(0, dut.Fields.Count);
            Assert.AreEqual(1, dut.RequirementTypeId);
            Assert.AreEqual(10, dut.SortKey);
            Assert.AreEqual(4, dut.DefaultIntervalWeeks);
        }
        public void Setup()
        {
            // Arrange
            _reqTypeRepositoryMock = new Mock <IRequirementTypeRepository>();
            _reqTypeAdded          = new RequirementType(TestPlant, "Code", "Title", RequirementTypeIcon.Other, 10);
            _reqTypeRepositoryMock
            .Setup(r => r.GetByIdAsync(1))
            .Returns(Task.FromResult(_reqTypeAdded));

            _command = new CreateRequirementDefinitionCommand(1, 10, Usage, RequirementDefinitionTitle, DefaultWeeks);

            _dut = new CreateRequirementDefinitionCommandHandler(
                _reqTypeRepositoryMock.Object,
                UnitOfWorkMock.Object,
                PlantProviderMock.Object
                );
        }