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)); }
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); }