package view
import (
"testing"
"time"
"github.com/mercemay/portr/internal/check/result"
"github.com/mercemay/portr/internal/config/target"
)
func sample() []result.Result {
return []result.Result{
result.Success(target.Target{Host: "alpha", Port: 22}, 5*time.Millisecond, 1),
result.Success(target.Target{Host: "bravo", Port: 80}, 8*time.Millisecond, 1),
result.Failure(target.Target{Host: "charlie", Port: 22}, nil, 0, 2),
}
}
func TestTable_FilterAll(t *testing.T) {
tbl := NewTable()
tbl.Load(sample())
if got := len(tbl.visible()); got != 3 {
t.Errorf("visible=%d, want 3", got)
}
}
func TestTable_FilterMatch(t *testing.T) {
tbl := NewTable()
tbl.Load(sample())
tbl.Filter("bra")
if got := len(tbl.visible()); got != 1 {
t.Errorf("visible=%d, want 1", got)
}
}
func TestTable_FilterEmpty(t *testing.T) {
tbl := NewTable()
tbl.Load(sample())
tbl.Filter("zzz")
if got := len(tbl.visible()); got != 0 {
t.Errorf("visible=%d, want 0", got)
}
}