public void Add_StoreDataStep_should_add_values() { IFlowTemplateStep inserted = null; A.CallTo(() => _unitofwork.FlowTemplateSteps.Add(A <IFlowTemplateStep> ._)) .Invokes((IFlowTemplateStep item) => inserted = item); _flowTemplateService.Add(new StoreDataStep { Name = "StoreDataStep Example", }, 2); A.CallTo(() => _unitofwork.FlowTemplateSteps.Add(A <IFlowTemplateStep> ._)).MustHaveHappened(Repeated.Exactly.Once); Assert.Equal(1, inserted.Id); Assert.Equal("StoreDataStep Example", inserted.Name); Assert.Equal(2, inserted.FlowTemplateId); Assert.Equal(4, inserted.StepTypeId); }
public void FlowTemplateService_Post_should_add_StartStep_values() { var unitOfWork = A.Fake <IUnitOfWork>(); A.CallTo(() => unitOfWork.FlowTemplateSteps.Get()).Returns(new List <IFlowTemplateStep> { new FlowTemplateStep { Id = 10 } }); var sut = new FlowTemplateStepsController(unitOfWork); IFlowTemplateStep captured = null; A.CallTo(() => unitOfWork.FlowTemplateSteps.Add(A <IFlowTemplateStep> ._)) .Invokes((IFlowTemplateStep item) => captured = item); SetupController(sut, "http://example.com/api/FlowTemplates/1/Steps", HttpMethod.Post); // Act var instance = new FlowTemplateStepDto { Name = "New StartStep", StepTypeName = "StartStep" }; var response = sut.Post(3, instance); var task = response.Content.ReadAsAsync <ExpandoObject>(); task.Wait(); dynamic result = task.Result; A.CallTo(() => unitOfWork.FlowTemplateSteps.Get()).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => unitOfWork.FlowTemplateSteps.Add(A <IFlowTemplateStep> ._)).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => unitOfWork.Commit()).MustHaveHappened(Repeated.Exactly.Once); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal(11, result.Id); Assert.Equal(captured.Id, result.Id); Assert.Equal(3, captured.FlowTemplateId); Assert.Equal(1, captured.StepTypeId); Assert.Equal("New StartStep", captured.Name); }