FIx shared structs + add better debugging/linting (#379)

* fix: Fixes issues w/ shared pointers to structs (#378)
* feat: Adds even better debugging and linting support (#376)

This is a #PATCH release.
This commit is contained in:
Harrison (Harry) Cramer
2024-09-16 17:06:40 -04:00
committed by GitHub
parent c3d7f26e3c
commit 5c9b88db4f
31 changed files with 191 additions and 155 deletions

View File

@@ -30,7 +30,7 @@ func TestResolveDiscussion(t *testing.T) {
svc := middleware(
discussionsResolutionService{testProjectData, fakeDiscussionResolver{}},
withMr(testProjectData, fakeMergeRequestLister{}),
withPayloadValidation(methodToPayload{http.MethodPut: &DiscussionResolveRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPut: newPayload[DiscussionResolveRequest]}),
withMethodCheck(http.MethodPut),
)
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", testResolveMergeRequestPayload)
@@ -44,7 +44,7 @@ func TestResolveDiscussion(t *testing.T) {
svc := middleware(
discussionsResolutionService{testProjectData, fakeDiscussionResolver{}},
withMr(testProjectData, fakeMergeRequestLister{}),
withPayloadValidation(methodToPayload{http.MethodPut: &DiscussionResolveRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPut: newPayload[DiscussionResolveRequest]}),
withMethodCheck(http.MethodPut),
)
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", payload)
@@ -58,7 +58,7 @@ func TestResolveDiscussion(t *testing.T) {
svc := middleware(
discussionsResolutionService{testProjectData, fakeDiscussionResolver{}},
withMr(testProjectData, fakeMergeRequestLister{}),
withPayloadValidation(methodToPayload{http.MethodPut: &DiscussionResolveRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPut: newPayload[DiscussionResolveRequest]}),
withMethodCheck(http.MethodPut),
)
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", payload)
@@ -72,13 +72,13 @@ func TestResolveDiscussion(t *testing.T) {
svc := middleware(
discussionsResolutionService{testProjectData, fakeDiscussionResolver{testBase: testBase{errFromGitlab: true}}},
withMr(testProjectData, fakeMergeRequestLister{}),
withPayloadValidation(methodToPayload{http.MethodPut: &DiscussionResolveRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPut: newPayload[DiscussionResolveRequest]}),
withMethodCheck(http.MethodPut),
)
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", testResolveMergeRequestPayload)
data, status := getFailData(t, svc, request)
assert(t, data.Message, "Could not resolve discussion")
assert(t, data.Details, "Some error from Gitlab")
assert(t, data.Details, "some error from Gitlab")
assert(t, status, http.StatusInternalServerError)
})
}