package model import ( "encoding/json" "testing" "time" ) func TestFile_StatusExcludedFromJSON(t *testing.T) { f := &File{ ID: "1", UserID: "u1", ParentID: nil, Name: "test.txt", Size: 100, MimeType: "text/plain", Status: StatusActive, IsDir: false, CreatedAt: time.Now(), UpdatedAt: time.Now(), } data, err := json.Marshal(f) if err != nil { t.Fatalf("json.Marshal: %v", err) } var result map[string]any if err := json.Unmarshal(data, &result); err != nil { t.Fatalf("json.Unmarshal: %v", err) } if _, ok := result["status"]; ok { t.Errorf("Status field should be excluded from JSON (json:\"-\"), but it appeared in output") } if _, ok := result["hash"]; ok { t.Errorf("Hash field should be excluded from JSON (json:\"-\"), but it appeared in output") } } func TestStatusConstants(t *testing.T) { if StatusActive != "active" { t.Errorf("StatusActive = %q, want \"active\"", StatusActive) } if StatusUserDeleted != "user_deleted" { t.Errorf("StatusUserDeleted = %q, want \"user_deleted\"", StatusUserDeleted) } }