Verified Commit b4794f9f authored by Zubeen's avatar Zubeen 🤖 Committed by GitLab
Browse files

feat(packages): add package_version filter to ListGroupPackagesOptions

Changelog: Improvements
parent eb1213f7
Loading
Loading
Loading
Loading
+1 −0
Changes for packages.go: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -209,6 +209,7 @@ type ListGroupPackagesOptions struct {
	Sort               *string `url:"sort,omitempty" json:"sort,omitempty"`
	PackageType        *string `url:"package_type,omitempty" json:"package_type,omitempty"`
	PackageName        *string `url:"package_name,omitempty" json:"package_name,omitempty"`
	PackageVersion     *string `url:"package_version,omitempty" json:"package_version,omitempty"`
	IncludeVersionless *bool   `url:"include_versionless,omitempty" json:"include_versionless,omitempty"`
	Status             *string `url:"status,omitempty" json:"status,omitempty"`
}
+27 −0
Changes for packages_test.go: 27 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -367,3 +367,30 @@ func TestPackagesService_DeletePackageFile(t *testing.T) {
	require.NoError(t, err)
	require.NotNil(t, resp)
}

func TestPackagesService_ListGroupPackages_packageVersion(t *testing.T) {
	t.Parallel()
	mux, client := setup(t)

	mux.HandleFunc("/api/v4/groups/3/packages", func(w http.ResponseWriter, r *http.Request) {
		testMethod(t, r, http.MethodGet)
		testParam(t, r, "package_version", "0.1")
		testParam(t, r, "include_versionless", "false")
		mustWriteJSONResponse(t, w, []map[string]any{{"id": 3, "version": "0.1"}})
	})

	// GIVEN a version filter
	opt := &ListGroupPackagesOptions{
		PackageVersion:     new("0.1"),
		IncludeVersionless: new(false),
	}

	// WHEN listing group packages
	ps, resp, err := client.Packages.ListGroupPackages(3, opt)

	// THEN package_version is sent
	require.NoError(t, err)
	require.NotNil(t, resp)
	require.Len(t, ps, 1)
	require.Equal(t, "0.1", ps[0].Version)
}