Remove mandatory task from measure

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2026-01-15 18:06:56 +01:00
parent 51b31f81f4
commit 3c2be844e4
13 changed files with 151 additions and 17 deletions

View File

@@ -67,6 +67,55 @@ func TestTask_Create(t *testing.T) {
assert.Equal(t, "Owner Task", task.Name)
}
func TestTask_CreateWithoutMeasure(t *testing.T) {
t.Parallel()
owner := testutil.NewClient(t, testutil.RoleOwner)
query := `
mutation CreateTask($input: CreateTaskInput!) {
createTask(input: $input) {
taskEdge {
node {
id
name
measure {
id
}
}
}
}
}
`
var result struct {
CreateTask struct {
TaskEdge struct {
Node struct {
ID string `json:"id"`
Name string `json:"name"`
Measure *struct {
ID string `json:"id"`
} `json:"measure"`
} `json:"node"`
} `json:"taskEdge"`
} `json:"createTask"`
}
err := owner.Execute(query, map[string]any{
"input": map[string]any{
"organizationId": owner.GetOrganizationID().String(),
"name": "Task without measure",
"description": "Created without a measure",
},
}, &result)
require.NoError(t, err)
task := result.CreateTask.TaskEdge.Node
assert.NotEmpty(t, task.ID)
assert.Equal(t, "Task without measure", task.Name)
assert.Nil(t, task.Measure)
}
func TestTask_Update(t *testing.T) {
t.Parallel()
owner := testutil.NewClient(t, testutil.RoleOwner)

View File

@@ -279,7 +279,7 @@ func CreateMeasure(c *testutil.Client, attrs ...Attrs) string {
return result.CreateMeasure.MeasureEdge.Node.ID
}
func CreateTask(c *testutil.Client, measureID string, attrs ...Attrs) string {
func CreateTask(c *testutil.Client, measureID *string, attrs ...Attrs) string {
c.T.Helper()
var a Attrs
@@ -299,9 +299,11 @@ func CreateTask(c *testutil.Client, measureID string, attrs ...Attrs) string {
input := map[string]any{
"organizationId": c.GetOrganizationID().String(),
"measureId": measureID,
"name": a.getString("name", SafeName("Task")),
}
if measureID != nil {
input["measureId"] = *measureID
}
if desc := a.getStringPtr("description"); desc != nil {
input["description"] = *desc
}
@@ -530,12 +532,16 @@ func (b *MeasureBuilder) Create() string {
type TaskBuilder struct {
client *testutil.Client
measureID string
measureID *string
attrs Attrs
}
func NewTask(c *testutil.Client, measureID string) *TaskBuilder {
return &TaskBuilder{client: c, measureID: measureID, attrs: Attrs{}}
return &TaskBuilder{client: c, measureID: &measureID, attrs: Attrs{}}
}
func NewTaskWithoutMeasure(c *testutil.Client) *TaskBuilder {
return &TaskBuilder{client: c, measureID: nil, attrs: Attrs{}}
}
func (b *TaskBuilder) WithName(name string) *TaskBuilder {