package health_insurance_companies

import (
	"testing"

	"gorm.io/gorm"
)

func TestHealthInsuranceCompanyTableName(t *testing.T) {
	var m HealthInsuranceCompany
	if got := m.TableName(); got != "health_insurance_companies" {
		t.Fatalf("expected table name health_insurance_companies, got %q", got)
	}
}

func TestHealthInsuranceCompanyBeforeCreate(t *testing.T) {
	t.Run("generates id when empty", func(t *testing.T) {
		m := &HealthInsuranceCompany{}
		if err := m.BeforeCreate(&gorm.DB{}); err != nil {
			t.Fatalf("unexpected error: %v", err)
		}
		if len(m.ID) == 0 {
			t.Fatalf("expected id to be generated")
		}
	})

	t.Run("keeps existing id", func(t *testing.T) {
		existing := []byte("already-set-id")
		m := &HealthInsuranceCompany{ID: append([]byte(nil), existing...)}
		if err := m.BeforeCreate(&gorm.DB{}); err != nil {
			t.Fatalf("unexpected error: %v", err)
		}
		if string(m.ID) != string(existing) {
			t.Fatalf("expected existing id to stay unchanged")
		}
	})
}
