From 94b50caa195ded59a6c53ec45651416843dc0ba3 Mon Sep 17 00:00:00 2001 From: William Martin Date: Wed, 19 Feb 2025 12:39:14 +0100 Subject: [PATCH] Add test for item-edit --number 0 --- pkg/cmd/project/item-edit/item_edit.go | 6 +-- pkg/cmd/project/item-edit/item_edit_test.go | 53 +++++++++++++++++++++ 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/pkg/cmd/project/item-edit/item_edit.go b/pkg/cmd/project/item-edit/item_edit.go index 87d8c91d3..38818b5c5 100644 --- a/pkg/cmd/project/item-edit/item_edit.go +++ b/pkg/cmd/project/item-edit/item_edit.go @@ -24,11 +24,11 @@ type editItemOpts struct { projectID string text string number float64 + numberChanged bool date string singleSelectOptionID string iterationID string clear bool - numberChanged bool // format exporter cmdutil.Exporter } @@ -174,10 +174,6 @@ func buildUpdateItem(config editItemConfig, date time.Time) (*UpdateProjectV2Fie value = githubv4.ProjectV2FieldValue{ Text: githubv4.NewString(githubv4.String(config.opts.text)), } - } else if config.opts.number != 0 { - value = githubv4.ProjectV2FieldValue{ - Number: githubv4.NewFloat(githubv4.Float(config.opts.number)), - } } else if config.opts.numberChanged { value = githubv4.ProjectV2FieldValue{ Number: githubv4.NewFloat(githubv4.Float(config.opts.number)), diff --git a/pkg/cmd/project/item-edit/item_edit_test.go b/pkg/cmd/project/item-edit/item_edit_test.go index cfa00dc46..916bb5899 100644 --- a/pkg/cmd/project/item-edit/item_edit_test.go +++ b/pkg/cmd/project/item-edit/item_edit_test.go @@ -317,6 +317,59 @@ func TestRunItemEdit_Number(t *testing.T) { stdout.String()) } +func TestRunItemEdit_NumberZero(t *testing.T) { + defer gock.Off() + // gock.Observe(gock.DumpRequest) + + // edit item + gock.New("https://api.github.com"). + Post("/graphql"). + BodyString(`{"query":"mutation UpdateItemValues.*","variables":{"input":{"projectId":"project_id","itemId":"item_id","fieldId":"field_id","value":{"number":0}}}}`). + Reply(200). + JSON(map[string]interface{}{ + "data": map[string]interface{}{ + "updateProjectV2ItemFieldValue": map[string]interface{}{ + "projectV2Item": map[string]interface{}{ + "ID": "item_id", + "content": map[string]interface{}{ + "__typename": "Issue", + "body": "body", + "title": "title", + "number": 1, + "repository": map[string]interface{}{ + "nameWithOwner": "my-repo", + }, + }, + }, + }, + }, + }) + + client := queries.NewTestClient() + + ios, _, stdout, _ := iostreams.Test() + ios.SetStdoutTTY(true) + + config := editItemConfig{ + io: ios, + opts: editItemOpts{ + number: 0, + numberChanged: true, + itemID: "item_id", + projectID: "project_id", + fieldID: "field_id", + }, + client: client, + } + + err := runEditItem(config) + assert.NoError(t, err) + assert.Equal( + t, + "Edited item \"title\"\n", + stdout.String()) +} + func TestRunItemEdit_Date(t *testing.T) { defer gock.Off() // gock.Observe(gock.DumpRequest)