Verified Commit b845977e authored by Edwin Smulders's avatar Edwin Smulders Committed by GitLab
Browse files

fix(settings): decode prevent_merge_requests_*_approval from GetSettings

Changelog: Improvements
parent b7187981
Loading
Loading
Loading
Loading
+2 −2
Changes for settings.go: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -312,8 +312,8 @@ type Settings struct {
	PlantumlEnabled                                        bool                      `json:"plantuml_enabled"`
	PlantumlURL                                            string                    `json:"plantuml_url"`
	PollingIntervalMultiplier                              float64                   `json:"polling_interval_multiplier,string"`
	PreventMergeRequestsAuthorApproval                     bool                      `json:"prevent_merge_request_author_approval"`
	PreventMergeRequestsCommittersApproval                 bool                      `json:"prevent_merge_request_committers_approval"`
	PreventMergeRequestsAuthorApproval                     bool                      `json:"prevent_merge_requests_author_approval"`
	PreventMergeRequestsCommittersApproval                 bool                      `json:"prevent_merge_requests_committers_approval"`
	ProjectDownloadExportLimit                             int64                     `json:"project_download_export_limit"`
	ProjectExportEnabled                                   bool                      `json:"project_export_enabled"`
	ProjectExportLimit                                     int64                     `json:"project_export_limit"`
+23 −0
Changes for settings_test.go: 23 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -303,3 +303,26 @@ func TestGetSettings_SecretPushProtectionAvailable(t *testing.T) {

	assert.True(t, settings.SecretPushProtectionAvailable)
}

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

	// GIVEN an instance that prevents approval by the author and by committers
	mux.HandleFunc("/api/v4/application/settings", func(w http.ResponseWriter, r *http.Request) {
		testMethod(t, r, http.MethodGet)
		fmt.Fprint(w, `{
			"id": 1,
			"prevent_merge_requests_author_approval": true,
			"prevent_merge_requests_committers_approval": true
		}`)
	})

	// WHEN the settings are read
	settings, _, err := client.Settings.GetSettings()
	require.NoError(t, err)

	// THEN both settings are decoded as set
	assert.True(t, settings.PreventMergeRequestsAuthorApproval)
	assert.True(t, settings.PreventMergeRequestsCommittersApproval)
}