public void SearchUserStoryByTeamAfterRemoveAssignableSquad() { var indexer = GetInstance<IEntityIndexer>(); const int targetTeamId = 1; const int expectedAssignableId = 1; const int expectedAssignableSquadId = 1; const int userStoryTypeId = QueryEntityTypeProvider.USERSTORY_TYPE_ID; var target = new AssignableDTO { ID = expectedAssignableId, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = targetTeamId }; indexer.AddAssignableIndex(target); indexer.AddAssignableIndex(new AssignableDTO { ID = 2, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = targetTeamId }); var targetAssignableSquad = new AssignableSquadDTO { AssignableSquadID = expectedAssignableSquadId, AssignableID = expectedAssignableId, SquadID = targetTeamId }; indexer.AddAssignableSquadIndex(targetAssignableSquad); var queryRunner = GetInstance<QueryRunner>(); var result = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId } }); result.Total.Should(Be.EqualTo(2), "result.Total.Should(Be.EqualTo(2))"); result.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "result.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); indexer.RemoveAssignableSquadIndex(targetAssignableSquad); var newResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId } }); newResult.Total.Should(Be.EqualTo(1), "newResult.Total.Should(Be.EqualTo(1))"); newResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "newResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); }
public void SearchUserStoryByNoTeamAfterChangeAssignableSquad() { var indexer = GetInstance<IEntityIndexer>(); const int targetTeamId = 1; const int anotherTargetTeamId = 2; const int expectedAssignableId = 1; const int userStoryTypeId = QueryEntityTypeProvider.USERSTORY_TYPE_ID; var target = new AssignableDTO { ID = expectedAssignableId, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = null }; indexer.AddAssignableIndex(target); indexer.AddAssignableIndex(new AssignableDTO { ID = 2, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = null }); var queryRunner = GetInstance<QueryRunner>(); var result = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = null, IncludeNoTeam = true }); result.Total.Should(Be.EqualTo(2), "result.Total.Should(Be.EqualTo(2))"); result.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "result.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); var targetAssignableSquad = new AssignableSquadDTO { AssignableSquadID = 1, AssignableID = expectedAssignableId, SquadID = targetTeamId }; indexer.AddAssignableSquadIndex(targetAssignableSquad); var noTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = null, IncludeNoTeam = true }); noTeamResult.Total.Should(Be.EqualTo(1), "noTeamResult.Total.Should(Be.EqualTo(1))"); noTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "noTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); var teamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId }, IncludeNoTeam = true }); teamResult.Total.Should(Be.EqualTo(2), "teamResult.Total.Should(Be.EqualTo(2))"); teamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "teamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); indexer.UpdateAssignableSquadIndex(new AssignableSquadDTO { AssignableSquadID = targetAssignableSquad.AssignableSquadID, AssignableID = targetAssignableSquad.AssignableID, SquadID = anotherTargetTeamId }, targetAssignableSquad, new List<AssignableSquadField> { AssignableSquadField.SquadID }); var updatedNoTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = null, IncludeNoTeam = true }); updatedNoTeamResult.Total.Should(Be.EqualTo(1), "updatedNoTeamResult.Total.Should(Be.EqualTo(1))"); updatedNoTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "updatedNoTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); var updatedTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId } }); updatedTeamResult.Total.Should(Be.EqualTo(0), "updatedTeamResult.Total.Should(Be.EqualTo(0))"); updatedTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "updatedTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); var anotherTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { anotherTargetTeamId }, IncludeNoTeam = true }); anotherTeamResult.Total.Should(Be.EqualTo(2), "anotherTeamResult.Total.Should(Be.EqualTo(2))"); anotherTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "anotherTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); indexer.RemoveAssignableSquadIndex(new AssignableSquadDTO { AssignableSquadID = targetAssignableSquad.AssignableSquadID, AssignableID = targetAssignableSquad.AssignableID, SquadID = anotherTargetTeamId }); var lastNoTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = null, IncludeNoTeam = true }); lastNoTeamResult.Total.Should(Be.EqualTo(2), "lastNoTeamResult.Total.Should(Be.EqualTo(2))"); lastNoTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "lastNoTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); var lastTeamResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { anotherTargetTeamId } }); lastTeamResult.Total.Should(Be.EqualTo(0), "lastTeamResult.Total.Should(Be.EqualTo(0))"); lastTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "lastTeamResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); }
public void SearchCommentByMultipleTeams() { var indexer = GetInstance<IEntityIndexer>(); const int targetSquadId = 1; const int anotherTargetSquadId = 2; const int expectedAssignableId = 1; const int anotherAssignableId = 2; const int expectedAssignableSquadId = 1; const int expectedCommentId = 1; const int anotherCommentId = 2; const int userStoryTypeId = QueryEntityTypeProvider.USERSTORY_TYPE_ID; indexer.AddAssignableIndex(new AssignableDTO { ID = expectedAssignableId, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = targetSquadId }); var targetAssignableSquad = new AssignableSquadDTO { AssignableSquadID = expectedAssignableSquadId, AssignableID = expectedAssignableId, SquadID = targetSquadId }; indexer.AddAssignableSquadIndex(targetAssignableSquad); indexer.AddAssignableSquadIndex(new AssignableSquadDTO { AssignableSquadID = 2, AssignableID = expectedAssignableId, SquadID = anotherTargetSquadId }); indexer.AddCommentIndex(new CommentDTO { CommentID = expectedCommentId, GeneralID = expectedAssignableId, Description = "qwerty ffff" }); indexer.AddAssignableIndex(new AssignableDTO { ID = anotherAssignableId, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = targetSquadId }); indexer.AddCommentIndex(new CommentDTO { CommentID = anotherCommentId, GeneralID = anotherAssignableId, Description = "qwerty wert" }); var queryRunner = GetInstance<QueryRunner>(); var targetResult = queryRunner.Run(new QueryData { Query = "qwerty", TeamIds = new[] { targetSquadId } }); targetResult.Total.Should(Be.EqualTo(2), "targetResult.Total.Should(Be.EqualTo(2))"); targetResult.CommentIds.Should(Be.EquivalentTo(new[] { expectedCommentId, anotherCommentId }.Select(s => s.ToString()).ToArray()), "targetResult.CommentIds.Should(Be.EquivalentTo(new[] { expectedCommentId, anotherCommentId }.Select(s => s.ToString()).ToArray()))"); var anotherQueryResult = queryRunner.Run(new QueryData { Query = "qwerty", TeamIds = new[] { anotherTargetSquadId } }); anotherQueryResult.Total.Should(Be.EqualTo(1), "anotherQueryResult.Total.Should(Be.EqualTo(1))"); anotherQueryResult.CommentIds.Should(Be.EquivalentTo(new[] { expectedCommentId }.Select(s => s.ToString()).ToArray()), "anotherQueryResult.CommentIds.Should(Be.EquivalentTo(new[] { expectedCommentId }.Select(s => s.ToString()).ToArray()))"); }
public void SearchUserStoryByMultipleTeamsAfterChange() { var indexer = GetInstance<IEntityIndexer>(); const int targetTeamId = 1; const int anotherTargetTeamId = 2; const int updatedTeamId = 3; const int expectedAssignableId = 1; const int userStoryTypeId = QueryEntityTypeProvider.USERSTORY_TYPE_ID; var target = new AssignableDTO { ID = expectedAssignableId, Name = "zagzag", Description = "", EntityTypeID = userStoryTypeId, SquadID = targetTeamId }; indexer.AddAssignableIndex(target); var targetAssignableSquad = new AssignableSquadDTO { AssignableSquadID = 1, AssignableID = expectedAssignableId, SquadID = targetTeamId }; indexer.AddAssignableSquadIndex(targetAssignableSquad); target.SquadID = targetTeamId; indexer.UpdateAssignableIndex(target, new[] { AssignableField.SquadID }, false); indexer.AddAssignableSquadIndex(new AssignableSquadDTO { AssignableSquadID = 2, AssignableID = expectedAssignableId, SquadID = anotherTargetTeamId }); target.SquadID = anotherTargetTeamId; indexer.UpdateAssignableIndex(target, new[] { AssignableField.SquadID }, false); var queryRunner = GetInstance<QueryRunner>(); var targetResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId } }); targetResult.Total.Should(Be.EqualTo(1), "targetResult.Total.Should(Be.EqualTo(1))"); targetResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "targetResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); var anotherResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { anotherTargetTeamId } }); anotherResult.Total.Should(Be.EqualTo(1), "anotherResult.Total.Should(Be.EqualTo(1))"); anotherResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "anotherResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); indexer.UpdateAssignableSquadIndex(new AssignableSquadDTO { AssignableSquadID = targetAssignableSquad.AssignableSquadID, AssignableID = targetAssignableSquad.AssignableID, SquadID = updatedTeamId }, targetAssignableSquad, new List<AssignableSquadField> { AssignableSquadField.SquadID }); target.SquadID = updatedTeamId; indexer.UpdateAssignableIndex(target, new[] { AssignableField.SquadID }, isIndexing: false); var oldResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { targetTeamId } }); oldResult.Total.Should(Be.EqualTo(0), "oldResult.Total.Should(Be.EqualTo(0))"); oldResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False, "oldResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.False)"); var anotherStillResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { anotherTargetTeamId } }); anotherStillResult.Total.Should(Be.EqualTo(1), "anotherStillResult.Total.Should(Be.EqualTo(1))"); anotherStillResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "anotherStillResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); var updatedResult = queryRunner.Run(new QueryData { Query = "zagzag", TeamIds = new[] { updatedTeamId } }); updatedResult.Total.Should(Be.EqualTo(1), "updatedResult.Total.Should(Be.EqualTo(1))"); updatedResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True, "updatedResult.AssignableIds.Contains(expectedAssignableId.ToString()).Should(Be.True)"); }