fix: label unmarshaling for BasicMergeRequest list operations
Previously, functions returning []*BasicMergeRequest (ListMergeRequests,
ListProjectMergeRequests, ListGroupMergeRequests) did not benefit from the
custom unmarshaling logic that handles both plain labels (string slice) and
detailed labels (list of objects). This was because
MergeRequest.UnmarshalJSON is not invoked when unmarshalling a
BasicMergeRequest directly.
This change fixes the issue by:
- Unmarshaling API responses into
[]*MergeRequest(which has the proper label handling logic) - Extracting and returning the embedded
BasicMergeRequestfrom each MergeRequest via the newtoBasic()helper function
This ensures consistent label handling across all merge request list operations.
Added test coverage for ListGroupMergeRequests with the WithLabelDetails
option to verify correct behavior.
While debugging I found that TestGetMergeRequest had expected/actual values switched around and fixed it.
Resolves: #2151 (closed)
Edited by Florian Forster