71 lines
1.4 KiB
Go
71 lines
1.4 KiB
Go
package spec_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/sunboyy/repogen/internal/spec"
|
|
)
|
|
|
|
type OperationTestCase struct {
|
|
Operation spec.Operation
|
|
ExpectedName string
|
|
}
|
|
|
|
func TestOperationName(t *testing.T) {
|
|
testTable := []OperationTestCase{
|
|
{
|
|
Operation: spec.InsertOperation{},
|
|
ExpectedName: "Insert",
|
|
},
|
|
{
|
|
Operation: spec.FindOperation{},
|
|
ExpectedName: "Find",
|
|
},
|
|
{
|
|
Operation: spec.UpdateOperation{},
|
|
ExpectedName: "Update",
|
|
},
|
|
{
|
|
Operation: spec.DeleteOperation{},
|
|
ExpectedName: "Delete",
|
|
},
|
|
{
|
|
Operation: spec.CountOperation{},
|
|
ExpectedName: "Count",
|
|
},
|
|
}
|
|
|
|
for _, testCase := range testTable {
|
|
t.Run(testCase.ExpectedName, func(t *testing.T) {
|
|
if testCase.Operation.Name() != testCase.ExpectedName {
|
|
t.Errorf("Expected = %v\nReceived = %v", testCase.ExpectedName, testCase.Operation.Name())
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
type UpdateTypeTestCase struct {
|
|
Update spec.Update
|
|
ExpectedName string
|
|
}
|
|
|
|
func TestUpdateTypeName(t *testing.T) {
|
|
testTable := []UpdateTypeTestCase{
|
|
{
|
|
Update: spec.UpdateModel{},
|
|
ExpectedName: "Model",
|
|
},
|
|
{
|
|
Update: spec.UpdateFields{},
|
|
ExpectedName: "Fields",
|
|
},
|
|
}
|
|
|
|
for _, testCase := range testTable {
|
|
t.Run(testCase.ExpectedName, func(t *testing.T) {
|
|
if testCase.Update.Name() != testCase.ExpectedName {
|
|
t.Errorf("Expected = %v\nReceived = %v", testCase.ExpectedName, testCase.Update.Name())
|
|
}
|
|
})
|
|
}
|
|
}
|