package db import ( "testing" "time" ) type testDataType struct { Id uint64 Name string `sql:"username"` Data time.Time } var testDataTable = DataTable[testDataType] { TableName: "DataTable", } func TestSelectRequestForm(t *testing.T) { var expected = "SELECT (Id, username, Data) FROM DataTable;" var request = testDataTable.formSelectAllQuery() if request != expected { t.Errorf("Incorrect select query. \n Expected: '%s' \n Got: '%s'", expected, request) } } func TestFilteredSelectRequestForm(t *testing.T) { var expected = "SELECT (Id, username, Data) FROM DataTable WHERE (Id = 10 AND username = 'physick');" var request = testDataTable.formQueryWithFilters(map[string]any{ "Id": 10, "username": "physick", }) if request != expected { t.Errorf("Incorrect select query. \n Expected: '%s' \n Got: '%s'", expected, request) } } func TestSearchSimilarElementQuery(t *testing.T) { var reference = testDataType { Id: 10, Name: "physick", Data: time.Now(), } var expected = "SELECT (Id, username, Data) FROM DataTable WHERE (Id = 10 AND username = 'physick');" var request, err = testDataTable.GetSimilarFieldsQuery(reference, []string { "Id", "username", }) if err != nil { t.Error(err.Error()) return } if request != expected { t.Errorf("Incorrect select query. \n Expected: '%s' \n Got: '%s'", expected, request) } }