MCPcopy Create free account
hub / github.com/google/go-github / TestEnterpriseService_UpdateBudget

Function TestEnterpriseService_UpdateBudget

github/enterprise_budgets_test.go:220–273  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

218}
219
220func TestEnterpriseService_UpdateBudget(t *testing.T) {
221 t.Parallel()
222 client, mux, _ := setup(t)
223
224 req := EnterpriseUpdateBudget{
225 BudgetAmount: Ptr(10),
226 PreventFurtherUsage: Ptr(false),
227 }
228
229 mux.HandleFunc("/enterprises/e/settings/billing/budgets/b-123", func(w http.ResponseWriter, r *http.Request) {
230 testMethod(t, r, "PATCH")
231 testJSONBody(t, r, req)
232 fmt.Fprint(w, `{
233 "message": "Budget successfully updated.",
234 "budget": {
235 "id": "b-123",
236 "budget_amount": 10,
237 "prevent_further_usage": false
238 }
239 }`)
240 })
241
242 ctx := t.Context()
243 resp, _, err := client.Enterprise.UpdateBudget(ctx, "e", "b-123", req)
244 if err != nil {
245 t.Errorf("Enterprise.UpdateBudget returned error: %v", err)
246 }
247
248 want := &EnterpriseCreateOrUpdateBudgetResponse{
249 Message: "Budget successfully updated.",
250 Budget: &EnterpriseBudget{
251 ID: Ptr("b-123"),
252 BudgetAmount: Ptr(10),
253 PreventFurtherUsage: Ptr(false),
254 },
255 }
256 if !cmp.Equal(resp, want) {
257 t.Errorf("Enterprise.UpdateBudget returned %+v, want %+v", resp, want)
258 }
259
260 const methodName = "UpdateBudget"
261 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
262 got, resp, err := client.Enterprise.UpdateBudget(ctx, "e", "b-123", req)
263 if got != nil {
264 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
265 }
266 return resp, err
267 })
268
269 testBadOptions(t, methodName, func() (err error) {
270 _, _, err = client.Enterprise.UpdateBudget(ctx, "\n", "\n", req)
271 return err
272 })
273}
274
275func TestEnterpriseService_UpdateBudget_invalidEnterprise(t *testing.T) {
276 t.Parallel()

Callers

nothing calls this directly

Calls 8

testMethodFunction · 0.85
testJSONBodyFunction · 0.85
testBadOptionsFunction · 0.85
UpdateBudgetMethod · 0.80
EqualMethod · 0.80
setupFunction · 0.70
PtrFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…