public void ShouldNotCreateWorkItemWithWEmptyId() { StubDominoAndMockWhiskWork(); Record( () => { SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new WorkItem[0]); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData(string.Empty)); } ); Playback(); }
public void ShouldNotUpdateDominoIfIdDoesntStartWithB() { StubWhiskWorkAndMockDomino(); Record( () => { var cr = WorkItem.New("9765", "/done"); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { cr }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); }); Playback(); }
public void ShouldNotDeleteFromWhiskWorkIfIdDoesntStartWithB() { StubDominoAndMockWhiskWork(); Record( () => { var bug = WorkItem.New("B2404", "/cmsdev/analysis/inprocess").AddClass("cr").UpdateOrdinal(-1). UpdateProperties(CreateProperties()); var cr = WorkItem.New("9765", "/done").AddClass("cr"); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { bug, cr }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); }); Playback(); }
public void ShouldCreateWorkItemAndMoveItToCorrectStep() { StubDominoAndMockWhiskWork(); Record( () => { SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new WorkItem[0]); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); WhiskWorkRepository.PostWorkItem(WorkItem.New("B2404", "/cmsdev/scheduled")); WhiskWorkRepository.PostWorkItem(WorkItem.New("B2404", "/cmsdev/wip/analysis/inprocess")); } ); Playback(); }
public void ShouldUpdateOrdinalToMinusThreeWhenPriorityIsThree() { StubDominoAndMockWhiskWork(); Record( () => { var currentWorkItem = WorkItem.New("B2404", "/cmsdev/analysis/inprocess"); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { currentWorkItem.AddClass("cr") }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData("2404", "3")); WhiskWorkRepository.PostWorkItem( currentWorkItem.UpdateProperties(CreateProperties("B2404", "3")).UpdateOrdinal(-3)); }); Playback(); }
public void ShouldNotUpdateDominoStatusWhenWorkItemLastMovedIsOlderThanDominoTimestamp() { StubWhiskWorkAndMockDomino(); DateTime now = DateTime.Now; Record( () => { var bug = WorkItem.New("B2404", "/done").AddClass("cr").UpdateOrdinal(1).UpdateProperties( CreateProperties()).UpdateLastMoved(now); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { bug }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData(now.AddSeconds(1))); }); Playback(); }
public void ShouldUpdateDominoStatus() { StubWhiskWorkAndMockDomino(); Record( () => { var bug = WorkItem.New("B2404", "/done").AddClass("cr").UpdateOrdinal(1).UpdateProperties( CreateProperties()); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { bug }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); DominoRepository.UpdateField("unid1", "Status", "10"); }); Playback(); }
public void ShouldDeleteExtraWorkItemFromWhiskWork() { StubDominoAndMockWhiskWork(); Record( () => { var bug = WorkItem.New("B2404", "/cmsdev/analysis/inprocess").AddClass("cr").UpdateOrdinal(-1). UpdateProperties(CreateProperties()); var removedBug = WorkItem.New("B2405", "/done").AddClass("cr"); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { bug, removedBug }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); WhiskWorkRepository.DeleteWorkItem(removedBug.RemoveClass("cr")); }); Playback(); }
public void ShouldReverseSynchronizeStatus() { StubDominoAndMockWhiskWork(); DateTime now = DateTime.Now; Record( () => { var cr = WorkItem.New("2404", "/cmsdev/scheduled").AddClass("cr").UpdateOrdinal(123).UpdateProperties( CreateProperties()).UpdateLastMoved(now); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { cr }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData(now.AddSeconds(1))); WhiskWorkRepository.PostWorkItem(cr.UpdateLastMoved(now.AddSeconds(1))); }); Playback(); }
public void ShouldUpdateWhiskWorkStatusWhenWorkItemLastMovedIsOlderThanDominoTimestamp() { StubDominoAndMockWhiskWork(); DateTime now = DateTime.Now; Record( () => { var bug = WorkItem.New("B2404", "/cmsdev/scheduled").AddClass("cr").UpdateOrdinal(-1).UpdateProperties( CreateProperties()).UpdateLastMoved(now); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { bug }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData(now.AddSeconds(1))); WhiskWorkRepository.PostWorkItem(WorkItem.New("B2404", "/cmsdev/wip/analysis/inprocess")); }); Playback(); }
public void ShouldUpdateResponsible() { StubWhiskWorkAndMockDomino(); var properties = CreateProperties(); properties.Add("responsible", "Some Person"); Record( () => { var currentWorkItem = WorkItem.New("B2404", "/cmsdev/analysis/inprocess").AddClass("cr").UpdateOrdinal(1). UpdateProperties(properties); SetupResult.For(WhiskWorkRepository.GetWorkItems()).Return(new[] { currentWorkItem }); SetupResult.For(DominoRepository.OpenTable()).Return(CreateDominoData()); DominoRepository.UpdateField("unid1", "CurrentPerson", "Some Person"); }); Playback(); }