package export_svc

import (
	"testing"

	"github.com/smartystreets/goconvey/convey"
	"github.com/tidbcloud/serverless-service/idl/pbgen/proto/console"
	"github.com/tidbcloud/serverless-service/idl/pbgen/proto/v1beta1"
)

func TestCsvDialectToDumpling(t *testing.T) {
	convey.Convey("csvDialectToDumpling", t, func() {
		convey.So(csvDialectToDumpling(v1beta1.ExportCSVDialect_SNOWFLAKE), convey.ShouldEqual, "snowflake")
		convey.So(csvDialectToDumpling(v1beta1.ExportCSVDialect_BIGQUERY), convey.ShouldEqual, "bigquery")
		convey.So(csvDialectToDumpling(v1beta1.ExportCSVDialect_REDSHIFT), convey.ShouldEqual, "redshift")
		// UNSPECIFIED / DEFAULT map to empty (dumpling default)
		convey.So(csvDialectToDumpling(v1beta1.ExportCSVDialect_UNSPECIFIED), convey.ShouldEqual, "")
		convey.So(csvDialectToDumpling(v1beta1.ExportCSVDialect_DEFAULT), convey.ShouldEqual, "")
	})
}

func TestCsvDialectToDumplingConsole(t *testing.T) {
	convey.Convey("csvDialectToDumplingConsole", t, func() {
		convey.So(csvDialectToDumplingConsole(console.ExportCSVDialect_SNOWFLAKE), convey.ShouldEqual, "snowflake")
		convey.So(csvDialectToDumplingConsole(console.ExportCSVDialect_BIGQUERY), convey.ShouldEqual, "bigquery")
		convey.So(csvDialectToDumplingConsole(console.ExportCSVDialect_REDSHIFT), convey.ShouldEqual, "redshift")
		// UNSPECIFIED / DEFAULT map to empty (dumpling default)
		convey.So(csvDialectToDumplingConsole(console.ExportCSVDialect_UNSPECIFIED), convey.ShouldEqual, "")
		convey.So(csvDialectToDumplingConsole(console.ExportCSVDialect_DEFAULT), convey.ShouldEqual, "")
	})
}
