package plugin import ( "testing" ) func TestPluginRunRecord(t *testing.T) { record := PluginRunRecord{ PluginName: "test-plugin", RigName: "gastown", Result: ResultSuccess, Body: "Test run completed successfully", } if record.PluginName != "test-plugin" { t.Errorf("expected plugin name 'test-plugin', got %q", record.PluginName) } if record.RigName != "gastown" { t.Errorf("expected rig name 'gastown', got %q", record.RigName) } if record.Result != ResultSuccess { t.Errorf("expected result 'success', got %q", record.Result) } } func TestRunResultConstants(t *testing.T) { if ResultSuccess != "success" { t.Errorf("expected ResultSuccess to be 'success', got %q", ResultSuccess) } if ResultFailure != "failure" { t.Errorf("expected ResultFailure to be 'failure', got %q", ResultFailure) } if ResultSkipped != "skipped" { t.Errorf("expected ResultSkipped to be 'skipped', got %q", ResultSkipped) } } func TestNewRecorder(t *testing.T) { recorder := NewRecorder("/tmp/test-town") if recorder == nil { t.Fatal("NewRecorder returned nil") } if recorder.townRoot != "/tmp/test-town" { t.Errorf("expected townRoot '/tmp/test-town', got %q", recorder.townRoot) } } // Integration tests for RecordRun, GetLastRun, GetRunsSince require // a working beads installation and are skipped in unit tests. // These functions shell out to `bd` commands.