| 99 | } |
| 100 | |
| 101 | func assertMergeResults(t *testing.T, expected []entity.MergeResult, results <-chan entity.MergeResult) { |
| 102 | t.Helper() |
| 103 | |
| 104 | var allResults []entity.MergeResult |
| 105 | for result := range results { |
| 106 | allResults = append(allResults, result) |
| 107 | } |
| 108 | |
| 109 | require.Equal(t, len(expected), len(allResults)) |
| 110 | |
| 111 | sort.Slice(allResults, func(i, j int) bool { |
| 112 | return allResults[i].Id < allResults[j].Id |
| 113 | }) |
| 114 | sort.Slice(expected, func(i, j int) bool { |
| 115 | return expected[i].Id < expected[j].Id |
| 116 | }) |
| 117 | |
| 118 | for i, result := range allResults { |
| 119 | require.NoError(t, result.Err) |
| 120 | |
| 121 | require.Equal(t, expected[i].Id, result.Id) |
| 122 | require.Equal(t, expected[i].Status, result.Status) |
| 123 | |
| 124 | switch result.Status { |
| 125 | case entity.MergeStatusNew, entity.MergeStatusUpdated: |
| 126 | require.NotNil(t, result.Entity) |
| 127 | require.Equal(t, expected[i].Id, result.Entity.Id()) |
| 128 | } |
| 129 | |
| 130 | i++ |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | func assertEqualRefs(t *testing.T, repoA, repoB repository.RepoData, prefix string) { |
| 135 | t.Helper() |