public void Setup_OkState()
        {
            _tagFunctionValidatorMock = new Mock <ITagFunctionValidator>();
            _tagFunctionValidatorMock.Setup(r => r.ExistsAsync(_tagFunctionCode, default)).Returns(Task.FromResult(true));

            _rowVersionValidatorMock = new Mock <IRowVersionValidator>();
            _rowVersionValidatorMock.Setup(r => r.IsValid(_rowVersion)).Returns(true);

            _command = new VoidTagFunctionCommand(_tagFunctionCode, _registerCode, _rowVersion);
            _dut     = new VoidTagFunctionCommandValidator(_tagFunctionValidatorMock.Object, _rowVersionValidatorMock.Object);
        }
        public void Validate_ShouldFail_WhenInvalidRowVersion()
        {
            const string invalidRowVersion = "String";

            var command = new VoidTagFunctionCommand(_tagFunctionCode, _registerCode, invalidRowVersion);

            _rowVersionValidatorMock.Setup(r => r.IsValid(invalidRowVersion)).Returns(false);

            var result = _dut.Validate(command);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Not a valid row version!"));
        }
        public void Setup()
        {
            // Arrange
            var          tagFunctionRepositoryMock = new Mock <ITagFunctionRepository>();
            const string TagFunctionCode           = "TFC";
            const string RegisterCode = "RC";

            _tagFunction = new TagFunction(TestPlant, "ReqDefinitionTitle", "TagFunctionDescription", "MAIN_EQUIP");

            tagFunctionRepositoryMock.Setup(r => r.GetByCodesAsync(TagFunctionCode, RegisterCode))
            .Returns(Task.FromResult(_tagFunction));

            _command = new VoidTagFunctionCommand(TagFunctionCode, RegisterCode, _rowVersion);
            _dut     = new VoidTagFunctionCommandHandler(
                tagFunctionRepositoryMock.Object,
                UnitOfWorkMock.Object);
        }