package team import ( "os" "testing" "github.com/stretchr/testify/assert" ) func TestLoad(t *testing.T) { te, err := Load(os.DirFS("testdata"), "teams.yaml") assert.NoError(t, err) testTeam(t, te, nil) } func TestLoad_inferredPath(t *testing.T) { te, err := Load(os.DirFS("."), "testdata") assert.NoError(t, err) testTeam(t, te, nil) } // testTeam checks the structure of a team func testTeam(t *testing.T, te *Team, p *Team) { t.Helper() a := assert.New(t) a.Empty(te.File, "%s: file field should be empty for resolved team", te.Name) if p == nil { a.False(te.HasParent(), "%s expected to not have parent", te.Name) } else { a.True(te.HasParent(), "%s expected to have parent %s", te.Name, p.Name) a.Same(p, te.Parent(), "%s expected to have parent %s", te.Name, p.Name) } for _, c := range te.Teams { testTeam(t, c, te) } }