public void CreateParameterTest_NoScript_Success()
        {
            var parameterResource = new ParameterResource();

            _scriptRepository.Setup(sr => sr.GetAsync(1)).Returns(Task.Run(() => default(Script)));

            var scriptMappingProfile = new Mock <IScriptMappingProfile>();

            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(dt => dt.Now).Returns(new System.DateTime());

            var createParameterCommand = new CreateParameterCommand.Handler(
                _scriptRepository.Object, _parameterRepository.Object,
                _unitOfWork.Object, scriptMappingProfile.Object, dateTime.Object);

            var command = new CreateParameterCommand
            {
                ScriptId     = 1,
                Name         = "new",
                ValueOptions = new List <ValueOptionResource>()
            };

            Assert.ThrowsAsync <NotFoundException>(() => createParameterCommand.Handle(command, CancellationToken.None));
        }
示例#2
0
        private async void OnCommitCreateParameter()
        {
            if (!(SelectedEventParameter.Id == 0 && SelectedEventParameter.IsValid()))
            {
                MessageBox.Show("Error. Make sure that the new parameter is selected and that Property Name and Variable fields have values.",
                                AppName, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            MessageBoxResult messageBoxResult = MessageBox.Show("Proceed with creation? Click Cancel to continue editing or No to discard changes.",
                                                                AppName, MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            if (messageBoxResult == MessageBoxResult.Cancel)
            {
                return;
            }
            else if (messageBoxResult == MessageBoxResult.No)
            {
                OnCancelCreateParameter();
            }
            else
            {
                //Create Event Parameter if Yes
                string result = await _eventParameterService.CreateEventParameter(SelectedEvent.Id, SelectedEventParameter);

                MessageBox.Show(result, AppName, MessageBoxButton.OK, MessageBoxImage.Information);
                GetEventParameters(SelectedEvent.Id);
            }

            CreatingItem = false;
            CreateParameterCommand.RaiseCanExecuteChanged();
            UpdateParameterCommand.RaiseCanExecuteChanged();
            DeleteParameterCommand.RaiseCanExecuteChanged();
            RefreshParametersCommand.RaiseCanExecuteChanged();
        }
示例#3
0
 private void OnCancelCreateParameter()
 {
     GetEventParameters(SelectedEvent.Id);
     CreatingItem = false;
     CreateParameterCommand.RaiseCanExecuteChanged();
     UpdateParameterCommand.RaiseCanExecuteChanged();
     DeleteParameterCommand.RaiseCanExecuteChanged();
     RefreshParametersCommand.RaiseCanExecuteChanged();
 }
示例#4
0
        //Parameter commands
        private void OnCreateParameter()
        {
            //Adds a blank entry to the EventParameters collection
            EventParameter eventParameter = new EventParameter();

            eventParameter.PropertyName     = "";
            eventParameter.MappedTo_Input_X = "";
            eventParameter.WFProfileId      = 0;
            EventParameters.Add(eventParameter);

            SelectedEventParameter = eventParameter;

            CreatingItem = true;
            CreateParameterCommand.RaiseCanExecuteChanged();
            UpdateParameterCommand.RaiseCanExecuteChanged();
            DeleteParameterCommand.RaiseCanExecuteChanged();
            RefreshParametersCommand.RaiseCanExecuteChanged();
        }
        public void CreateParameterTest_Success()
        {
            var parameterResource = new ParameterResource();
            var parameter         = new Parameter();

            _scriptRepository.Setup(sr => sr.GetAsync(1))
            .Returns(Task.Run(() => new Script()));
            _parameterRepository.Setup(pr => pr.AddAsync(parameter))
            .Returns(Task.FromResult(default(object)));
            _unitOfWork.Setup(uow => uow.CompleteAsync())
            .Returns(Task.FromResult(1));

            var scriptMappingProfile = new Mock <IScriptMappingProfile>();

            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(dt => dt.Now).Returns(new System.DateTime());

            var createParameterCommand = new CreateParameterCommand.Handler(
                _scriptRepository.Object, _parameterRepository.Object,
                _unitOfWork.Object, scriptMappingProfile.Object, dateTime.Object);

            var cancellationToken = CancellationToken.None;
            var command           = new CreateParameterCommand
            {
                ScriptId     = 1,
                Name         = "new",
                ValueOptions = new List <ValueOptionResource>()
            };
            var result = createParameterCommand.Handle(command, cancellationToken).Result;

            _parameterRepository.Verify(pr => pr.AddAsync(It.IsAny <Parameter>()));
            _unitOfWork.Verify(sr => sr.CompleteAsync(cancellationToken));
            scriptMappingProfile.Verify(smp => smp.UpdateValueOptions(command.ValueOptions, It.IsAny <Parameter>()));
            scriptMappingProfile.Verify(smp => smp.RemoveNotAddedValueOptions(command.ValueOptions, It.IsAny <Parameter>()));
            scriptMappingProfile.Verify(smp => smp.AddNewValueOptions(command.ValueOptions, It.IsAny <Parameter>()));
            dateTime.Verify(dt => dt.Now);
            Assert.That(result, Is.Not.Null);
        }
 public async Task <IActionResult> CreateParameter(long scriptId, [FromBody] CreateParameterCommand command)
 {
     command.ScriptId = scriptId;
     return(Ok(await Mediator.Send(command)));
 }