From 35e231b1998c28cf0ef4bd05ecd6847074510e38 Mon Sep 17 00:00:00 2001 From: KEHyeon Date: Sat, 15 Feb 2025 16:47:19 +0900 Subject: [PATCH] Add test TestCreateInterfaceType --- tests/create_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/create_test.go b/tests/create_test.go index abb82472..c50ba78d 100644 --- a/tests/create_test.go +++ b/tests/create_test.go @@ -791,3 +791,34 @@ func TestCreateFromMapWithTable(t *testing.T) { t.Errorf("failed to create data from map with table, @id != id") } } + +func TestCreateWithInterfaceType(t *testing.T) { + user := *GetUser("create", Config{}) + type UserInterface interface{} + var userInterface UserInterface = &user + + if results := DB.Create(userInterface); results.Error != nil { + t.Fatalf("errors happened when create: %v", results.Error) + } else if results.RowsAffected != 1 { + t.Fatalf("rows affected expects: %v, got %v", 1, results.RowsAffected) + } + + if user.ID == 0 { + t.Errorf("user's primary key should has value after create, got : %v", user.ID) + } + + if user.CreatedAt.IsZero() { + t.Errorf("user's created at should be not zero") + } + + if user.UpdatedAt.IsZero() { + t.Errorf("user's updated at should be not zero") + } + + var newUser User + if err := DB.Where("id = ?", user.ID).First(&newUser).Error; err != nil { + t.Fatalf("errors happened when query: %v", err) + } else { + CheckUser(t, newUser, user) + } +}