MCPcopy Index your code
hub / github.com/coder/coder / TestTaskNameUniqueness

Function TestTaskNameUniqueness

coderd/database/querier_test.go:9472–9555  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9470}
9471
9472func TestTaskNameUniqueness(t *testing.T) {
9473 t.Parallel()
9474
9475 db, _ := dbtestutil.NewDB(t)
9476
9477 org := dbgen.Organization(t, db, database.Organization{})
9478 user1 := dbgen.User(t, db, database.User{})
9479 user2 := dbgen.User(t, db, database.User{})
9480 template := dbgen.Template(t, db, database.Template{
9481 OrganizationID: org.ID,
9482 CreatedBy: user1.ID,
9483 })
9484 tv := dbgen.TemplateVersion(t, db, database.TemplateVersion{
9485 TemplateID: uuid.NullUUID{UUID: template.ID, Valid: true},
9486 OrganizationID: org.ID,
9487 CreatedBy: user1.ID,
9488 })
9489
9490 taskName := "my-task"
9491
9492 // Create initial task for user1.
9493 task1 := dbgen.Task(t, db, database.TaskTable{
9494 OrganizationID: org.ID,
9495 OwnerID: user1.ID,
9496 Name: taskName,
9497 TemplateVersionID: tv.ID,
9498 Prompt: "Test prompt",
9499 })
9500 require.NotEqual(t, uuid.Nil, task1.ID)
9501
9502 tests := []struct {
9503 name string
9504 ownerID uuid.UUID
9505 taskName string
9506 wantErr bool
9507 }{
9508 {
9509 name: "duplicate task name same user",
9510 ownerID: user1.ID,
9511 taskName: taskName,
9512 wantErr: true,
9513 },
9514 {
9515 name: "duplicate task name different case same user",
9516 ownerID: user1.ID,
9517 taskName: "MY-TASK",
9518 wantErr: true,
9519 },
9520 {
9521 name: "same task name different user",
9522 ownerID: user2.ID,
9523 taskName: taskName,
9524 wantErr: false,
9525 },
9526 }
9527
9528 for _, tt := range tests {
9529 t.Run(tt.name, func(t *testing.T) {

Callers

nothing calls this directly

Calls 13

NewDBFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
TemplateFunction · 0.92
TemplateVersionFunction · 0.92
TaskFunction · 0.92
ContextFunction · 0.92
NowFunction · 0.92
RunMethod · 0.65
NewMethod · 0.65
InsertTaskMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected