public void QueryRunnerShouldCallToReplaceMacrosBeforeRunningQueries() { //Maybe is a smeel you can really assert that the code is using the right version of the query? var tfsContextMock = A.Fake<ITfsContext>(o => o.Wrapping(tfsContext)); var macroParserMock = A.Fake<IQueryMacroParser>(); var resultQuery = new ShimQueryDefinition(); resultQuery.QueryTextGet = () => "SELECT System.ID, System.Title from workitems WHERE Project = \"TestProject\""; A.CallTo(() => macroParserMock.Replace(A<QueryDefinition>.Ignored)) .Returns(resultQuery); var query = "SELECT System.ID, System.Title from workitems WHERE Project = @Project"; var queryRunner = new QueryRunner(tfsContextMock, macroParserMock); var queryWithMacros = new ShimQueryDefinition(); queryWithMacros.QueryTextGet = () => query; IEnumerable<WorkItem> workItems = queryRunner.RunQuery(queryDefinition); A.CallTo(() => macroParserMock.Replace(A<QueryDefinition>.Ignored)).MustHaveHappened(); A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened(); Assert.IsTrue(workItems.Where(w => w.Title == "Linked Work Item").Any()); }
public void QueryRunFromQueryDefinitonShouldCallContext() { var tfsContextMock = A.Fake<ITfsContext>(x => x.Wrapping(tfsContext)); var queryRunner = new QueryRunner(tfsContextMock, queryMacroParser); //ShimQuery.AllInstances.IsLinkQueryGet = (q) => true; queryRunner.RunQuery(this.queryDefinition); A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened(); }
public void QueryRunShouldRunStandardQueries() { var tfsContextMock = A.Fake<ITfsContext>(o => o.Wrapping(tfsContext)); var queryRunner = new QueryRunner(tfsContextMock, queryMacroParser); IEnumerable<WorkItem> workItems = queryRunner.RunQuery(queryDefinition); A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened(); Assert.IsTrue(workItems.Where(w => w.Title == "Linked Work Item").Any()); }