Files
nezha_domains/model/common_test.go
UUBulb ec44dbbd9b fix search by id (#1047)
* fix search by id

* make SearchByID Public
2025-03-27 19:17:00 +08:00

50 lines
1.2 KiB
Go

package model
import (
"reflect"
"slices"
"testing"
)
func TestSearchByID(t *testing.T) {
t.Run("WithoutPriorityList", func(t *testing.T) {
list, exp := []*DDNSProfile{
{Common: Common{ID: 1}},
{Common: Common{ID: 2}},
{Common: Common{ID: 3}},
{Common: Common{ID: 4}},
{Common: Common{ID: 5}},
}, []*DDNSProfile{
{Common: Common{ID: 4}},
{Common: Common{ID: 1}},
{Common: Common{ID: 3}},
}
searchList := slices.Values([]string{"4", "1", "3"})
filtered := SearchByID(searchList, list)
if !reflect.DeepEqual(filtered, exp) {
t.Fatalf("expected %v, but got %v", exp, filtered)
}
})
t.Run("WithPriorityTest", func(t *testing.T) {
list, exp := []*Server{
{Common: Common{ID: 5}, DisplayIndex: 2},
{Common: Common{ID: 4}, DisplayIndex: 1},
{Common: Common{ID: 1}},
{Common: Common{ID: 2}},
{Common: Common{ID: 3}},
}, []*Server{
{Common: Common{ID: 4}, DisplayIndex: 1},
{Common: Common{ID: 5}, DisplayIndex: 2},
{Common: Common{ID: 3}},
}
searchList := slices.Values([]string{"3", "4", "5"})
filtered := SearchByID(searchList, list)
if !reflect.DeepEqual(filtered, exp) {
t.Fatalf("expected %v, but got %v", exp, filtered)
}
})
}