excel-export/biz/config/task_test.go

36 lines
1.2 KiB
Go

package config
import (
"fmt"
"github.com/stretchr/testify/assert"
"testing"
"time"
)
func TestTask_GetSql(t *testing.T) {
task := Task{
Sql: "select * from order",
Elt: "create_time between {begin} and {end} and o.order_number > {last}",
Timestamp: true,
Order: " ",
}
begin, _ := time.Parse("2006-01-02 15:04:05", "2023-01-01 00:00:00")
end := begin.Add(time.Hour * 24)
sql := task.GetSql(map[string]interface{}{"begin": begin, "end": end, "last": 0})
assert.Equal(t, fmt.Sprintf("select * from order where create_time between %d and %d and o.order_number > 0", begin.Unix(), end.Unix()), sql)
}
func TestTask_GetSql_OrderBy(t *testing.T) {
task := Task{
Sql: "select * from order",
Elt: "create_time between '{begin}' and '{end}'",
Timestamp: false,
Order: "create_time",
}
begin, _ := time.Parse("2006-01-02 15:04:05", "2023-01-01 00:00:00")
end := begin.Add(time.Hour * 24)
sql := task.GetSql(map[string]interface{}{"begin": begin, "end": end})
assert.Equal(t, fmt.Sprintf("select * from order where create_time between '%s' and '%s' order by create_time", begin.Format("2006-01-02 15:04:05"), end.Format("2006-01-02 15:04:05")), sql)
}