public void Should_create_new_object_with_steps_not_run() { // assemble const string templateName = @"Example Template"; var templateRepository = A.Fake <IRepository <FlowTemplate> >(); var steps = new List <IStep> { new StartStep(), new StopStep() }; A.CallTo(() => templateRepository.Get(A <int> ._)).Returns(new FlowTemplate { Id = 2, Name = templateName, Steps = steps }); // act var sut = new FlowInstanceFactory(templateRepository, null); var instance = sut.Create(1); // assert Assert.Equal(2, instance.Template.Id); Assert.Equal(templateName, instance.Template.Name); Assert.Equal(0, instance.CompletedSteps.Count); }
public void Should_create_new_object_with_correct_variables() { // assemble var templateRepository = A.Fake <IRepository <FlowTemplate> >(); var steps = new List <IStep> { new StartStep(), new StopStep() }; var vars = new Dictionary <string, object> { { "Example VariableKey 1", "Example Value 1" }, { "Example VariableKey 2", 2 } }; A.CallTo(() => templateRepository.Get(A <int> ._)).Returns(new FlowTemplate { Id = 2, Steps = steps, Variables = vars }); // act var instance = new FlowInstanceFactory(templateRepository, null); var sut = instance.Create(1).Variables.ToList(); // assert Assert.Equal(2, sut.Count); Assert.Equal("Example VariableKey 1", sut[0].Key); Assert.Equal("Example Value 1", sut[0].Value); Assert.Equal("Example VariableKey 2", sut[1].Key); Assert.Equal(2, sut[1].Value); }
public void Should_create_new_flow_from_template() { // assemble const string templateName = @"Example Template"; var templateRepository = A.Fake <IRepository <FlowTemplate> >(); A.CallTo(() => templateRepository.Get(A <int> ._)).Returns(new FlowTemplate { Id = 2, Name = templateName }); // act var sut = new FlowInstanceFactory(templateRepository, null); var instance = sut.Create(1); // assert Assert.Equal(2, instance.Template.Id); Assert.Equal(templateName, instance.Template.Name); }