package parser_test import ( "testing" "github.com/stretchr/testify/require" "tangled.com/daniellemaywood.uk/otter/internal/parser" ) func TestParse(t *testing.T) { t.Parallel() tests := []struct { name string content string wantQueries []parser.Query }{ { name: "SingleQuery", content: ` -- name: SelectUser select * from users; `, wantQueries: []parser.Query{ { Name: "SelectUser", SQL: "select * from users;", }, }, }, { name: "MultipleQueries", content: ` -- name: SelectUser select * from users; -- name: InsertUser insert into users (id, username) values ($1, $2); `, wantQueries: []parser.Query{ { Name: "SelectUser", SQL: "select * from users;", }, { Name: "InsertUser", SQL: "insert into users (id, username) values ($1, $2);", }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { t.Parallel() queries, err := parser.Parse(tt.content) require.NoError(t, err) require.Equal(t, tt.wantQueries, queries) }) } }