From 5af711e253420ab7c91d7ba3c01088dc603abd91 Mon Sep 17 00:00:00 2001 From: Reinaldy Rafli Date: Tue, 9 Nov 2021 12:23:45 +0700 Subject: [PATCH] refactor: clean up test create table --- create_table_test.go | 142 +++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/create_table_test.go b/create_table_test.go index 3c92425..0942e90 100644 --- a/create_table_test.go +++ b/create_table_test.go @@ -6,67 +6,67 @@ import ( "github.com/aldy505/bob" ) -func TestCreate(t *testing.T) { - t.Run("should return correct sql string with all columns and types", func(t *testing.T) { - sql, _, err := bob. - CreateTable("users"). - UUIDColumn("uuid"). - StringColumn("string"). - TextColumn("text"). - DateColumn("date"). - BooleanColumn("boolean"). - IntegerColumn("integer"). - IntColumn("int"). - TimeStampColumn("timestamp"). - TimeColumn("time"). - DateColumn("date"). - DateTimeColumn("datetime"). - JSONColumn("json"). - JSONBColumn("jsonb"). - BlobColumn("blob"). - RealColumn("real"). - FloatColumn("float"). - AddColumn(bob.ColumnDef{Name: "custom", Type: "custom"}). - ToSql() - if err != nil { - t.Fatal(err.Error()) - } - result := "CREATE TABLE \"users\" (\"uuid\" UUID, \"string\" VARCHAR(255), \"text\" TEXT, \"date\" DATE, \"boolean\" BOOLEAN, \"integer\" INTEGER, \"int\" INT, \"timestamp\" TIMESTAMP, \"time\" TIME, \"date\" DATE, \"datetime\" DATETIME, \"json\" JSON, \"jsonb\" JSONB, \"blob\" BLOB, \"real\" REAL, \"float\" FLOAT, \"custom\" custom);" - if sql != result { - t.Fatal("sql is not equal to result:", sql) - } - }) +func TestCreateTable(t *testing.T) { + sql, _, err := bob. + CreateTable("users"). + UUIDColumn("uuid"). + StringColumn("string"). + TextColumn("text"). + DateColumn("date"). + BooleanColumn("boolean"). + IntegerColumn("integer"). + IntColumn("int"). + TimeStampColumn("timestamp"). + TimeColumn("time"). + DateColumn("date"). + DateTimeColumn("datetime"). + JSONColumn("json"). + JSONBColumn("jsonb"). + BlobColumn("blob"). + RealColumn("real"). + FloatColumn("float"). + AddColumn(bob.ColumnDef{Name: "custom", Type: "custom"}). + ToSql() + if err != nil { + t.Fatal(err.Error()) + } + result := "CREATE TABLE \"users\" (\"uuid\" UUID, \"string\" VARCHAR(255), \"text\" TEXT, \"date\" DATE, \"boolean\" BOOLEAN, \"integer\" INTEGER, \"int\" INT, \"timestamp\" TIMESTAMP, \"time\" TIME, \"date\" DATE, \"datetime\" DATETIME, \"json\" JSON, \"jsonb\" JSONB, \"blob\" BLOB, \"real\" REAL, \"float\" FLOAT, \"custom\" custom);" + if sql != result { + t.Fatal("sql is not equal to result:", sql) + } +} - t.Run("should return correct sql with extras", func(t *testing.T) { - sql, _, err := bob.CreateTable("users"). - UUIDColumn("id", "PRIMARY KEY"). - StringColumn("email", "NOT NULL", "UNIQUE"). - ToSql() +func TestCreateTable_Extras(t *testing.T) { + sql, _, err := bob.CreateTable("users"). + UUIDColumn("id", "PRIMARY KEY"). + StringColumn("email", "NOT NULL", "UNIQUE"). + ToSql() - if err != nil { - t.Fatal(err.Error()) - } - result := "CREATE TABLE \"users\" (\"id\" UUID PRIMARY KEY, \"email\" VARCHAR(255) NOT NULL UNIQUE);" - if sql != result { - t.Fatal("sql is not equal to result:", sql) - } - }) + if err != nil { + t.Fatal(err.Error()) + } + result := "CREATE TABLE \"users\" (\"id\" UUID PRIMARY KEY, \"email\" VARCHAR(255) NOT NULL UNIQUE);" + if sql != result { + t.Fatal("sql is not equal to result:", sql) + } +} - t.Run("should be able to have a schema name", func(t *testing.T) { - sql, _, err := bob. - CreateTable("users"). - WithSchema("private"). - StringColumn("name"). - ToSql() - if err != nil { - t.Fatal(err.Error()) - } - result := "CREATE TABLE \"private\".\"users\" (\"name\" VARCHAR(255));" - if sql != result { - t.Fatal("sql is not equal to result:", sql) - } - }) +func TestCreateTable_Schema(t *testing.T) { + sql, _, err := bob. + CreateTable("users"). + WithSchema("private"). + StringColumn("name"). + ToSql() + if err != nil { + t.Fatal(err.Error()) + } + result := "CREATE TABLE \"private\".\"users\" (\"name\" VARCHAR(255));" + if sql != result { + t.Fatal("sql is not equal to result:", sql) + } +} +func TestCreateTable_Error(t *testing.T) { t.Run("should emit error on empty table name", func(t *testing.T) { _, _, err := bob. CreateTable(""). @@ -85,18 +85,18 @@ func TestCreate(t *testing.T) { t.Fatal("should throw an error, it didn't:", err.Error()) } }) - - t.Run("should emit create if not exists", func(t *testing.T) { - sql, _, err := bob. - CreateTableIfNotExists("users"). - TextColumn("name"). - ToSql() - if err != nil { - t.Fatal(err.Error()) - } - result := "CREATE TABLE IF NOT EXISTS \"users\" (\"name\" TEXT);" - if sql != result { - t.Fatal("sql is not equal to result: ", sql) - } - }) +} + +func TestCreateTable_IfNotExists(t *testing.T) { + sql, _, err := bob. + CreateTableIfNotExists("users"). + TextColumn("name"). + ToSql() + if err != nil { + t.Fatal(err.Error()) + } + result := "CREATE TABLE IF NOT EXISTS \"users\" (\"name\" TEXT);" + if sql != result { + t.Fatal("sql is not equal to result: ", sql) + } }