public void Setup_OkState()
        {
            _updatedFields = new List <UpdateFieldsForCommand>
            {
                new UpdateFieldsForCommand(_updateFieldId, "L", _fieldType, 1, false, null)
            };
            _newFields = new List <FieldsForCommand>();

            _reqTypeValidatorMock = new Mock <IRequirementTypeValidator>();
            _reqTypeValidatorMock
            .Setup(r => r.RequirementDefinitionExistsAsync(_requirementTypeId, _requirementDefinitionId, default))
            .Returns(Task.FromResult(true));
            _reqTypeValidatorMock
            .Setup(r => r.FieldExistsAsync(_requirementTypeId, _requirementDefinitionId, _updateFieldId, default))
            .Returns(Task.FromResult(true));

            _reqDefinitionValidatorMock = new Mock <IRequirementDefinitionValidator>();
            _reqDefinitionValidatorMock
            .Setup(r => r.AllExcludedFieldsAreVoidedAsync(_requirementDefinitionId, new List <int> {
                _updateFieldId
            }, default))
            .Returns(Task.FromResult(true));

            _fieldValidatorMock = new Mock <IFieldValidator>();
            _fieldValidatorMock.Setup(f => f.VerifyFieldTypeAsync(_updateFieldId, _fieldType, default)).Returns(Task.FromResult(true));

            _command = new UpdateRequirementDefinitionCommand(
                _requirementTypeId,
                _requirementDefinitionId,
                _sortKey,
                _usage,
                _title,
                _defaultIntervalWeeks,
                _rowVersion,
                _updatedFields,
                _newFields);
            _dut = new UpdateRequirementDefinitionCommandValidator(
                _reqTypeValidatorMock.Object,
                _reqDefinitionValidatorMock.Object,
                _fieldValidatorMock.Object);
        }
        public void Constructor_ShouldSetProperties()
        {
            var dut = new UpdateRequirementDefinitionCommand(1,
                                                             2,
                                                             10,
                                                             RequirementUsage.ForAll,
                                                             "Title",
                                                             4,
                                                             "AAAAAAAAABA=",
                                                             null,
                                                             null);

            Assert.AreEqual(1, dut.RequirementTypeId);
            Assert.AreEqual(2, dut.RequirementDefinitionId);
            Assert.AreEqual(RequirementUsage.ForAll, dut.Usage);
            Assert.AreEqual("Title", dut.Title);
            Assert.AreEqual(4, dut.DefaultIntervalWeeks);
            Assert.AreEqual("AAAAAAAAABA=", dut.RowVersion);
            Assert.AreEqual(0, dut.UpdateFields.Count);
            Assert.AreEqual(0, dut.NewFields.Count);
        }
Exemple #3
0
        public void Setup()
        {
            // Arrange
            var requirementTypeId       = 1;
            var requirementDefinitionId = 2;

            _fieldId = 3;

            var requirementTypeRepositoryMock = new Mock <IRequirementTypeRepository>();

            _requirementType = new RequirementType(TestPlant, "Req type code", "Req type title", RequirementTypeIcon.Other, 10);
            _requirementType.SetProtectedIdForTesting(requirementTypeId);

            _requirementDefinition = new RequirementDefinition(TestPlant, _oldTitle, _oldDefaultWeeks, _oldUsage, _oldSortKey);
            _requirementDefinition.SetProtectedIdForTesting(requirementDefinitionId);

            _field = new Field(TestPlant, _oldLabel, _oldFieldType, _oldSortKey, _oldUnit, _oldShowPrevious);
            _field.SetProtectedIdForTesting(_fieldId);

            _requirementDefinition.AddField(_field);
            _requirementType.AddRequirementDefinition(_requirementDefinition);

            requirementTypeRepositoryMock.Setup(j => j.GetByIdAsync(requirementTypeId))
            .Returns(Task.FromResult(_requirementType));

            _updateCommandWithUpdateField = new UpdateRequirementDefinitionCommand(
                requirementTypeId,
                requirementDefinitionId,
                _newSortKey1,
                _newUsage,
                _newTitle,
                _newDefaultWeeks,
                _rowVersion,
                new List <UpdateFieldsForCommand>
            {
                new UpdateFieldsForCommand(_fieldId, _newLabel1, FieldType.Number, _newSortKey1, true, _rowVersion, _newUnit1, _newShowPrevious1)
            },
                new List <FieldsForCommand>()
                );
            _updateCommandWithDeleteField = new UpdateRequirementDefinitionCommand(
                requirementTypeId,
                requirementDefinitionId,
                _newSortKey1,
                _newUsage,
                _newTitle,
                _newDefaultWeeks,
                _rowVersion,
                new List <UpdateFieldsForCommand>(),
                new List <FieldsForCommand>()
                );
            _updateCommandWithUpdateAndAddField = new UpdateRequirementDefinitionCommand(
                requirementTypeId,
                requirementDefinitionId,
                _newSortKey1,
                _newUsage,
                _newTitle,
                _newDefaultWeeks,
                _rowVersion,
                new List <UpdateFieldsForCommand>
            {
                new UpdateFieldsForCommand(_fieldId, _newLabel1, FieldType.Number, _newSortKey1, true, _rowVersion, _newUnit1, _newShowPrevious1)
            },
                new List <FieldsForCommand>
            {
                new FieldsForCommand(_newLabel2, _newFieldType2, _newSortKey2, _newUnit2, _newShowPrevious2)
            }
                );

            _dut = new UpdateRequirementDefinitionCommandHandler(
                requirementTypeRepositoryMock.Object,
                UnitOfWorkMock.Object,
                PlantProviderMock.Object);
        }