Remove mandatory task from measure
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user