5
"launchpad.net/unity-scope-libertine/internal/launchpad.net/go-unityscopes/v2"
8
func (s *S) TestDepartment(c *C) {
9
query := scopes.NewCannedQuery("scope", "query_string", "department_string")
10
department, err := scopes.NewDepartment("department_string2", query, "TEST_DEPARTMENT")
13
department.SetAlternateLabel("test_alternate_label")
14
c.Check(department.AlternateLabel(), Equals, "test_alternate_label")
15
c.Check(department.Id(), Equals, "department_string2")
16
c.Check(department.Label(), Equals, "TEST_DEPARTMENT")
18
department.SetHasSubdepartments(true)
19
c.Check(department.HasSubdepartments(), Equals, true)
21
department.SetHasSubdepartments(false)
22
c.Check(department.HasSubdepartments(), Equals, false)
24
department2, err := scopes.NewDepartment("sub_department_string", query, "TEST_SUB_DEPARTMENT")
26
department2.SetAlternateLabel("test_alternate_label_2")
28
department3, err := scopes.NewDepartment("sub_department_2_string", query, "TEST_SUB_DEPARTMENT_2")
30
department3.SetAlternateLabel("test_alternate_label_3")
32
subdepartments := department.Subdepartments()
33
c.Check(len(subdepartments), Equals, 0)
34
c.Check(department.HasSubdepartments(), Equals, false)
36
department.SetSubdepartments([]*scopes.Department{department2, department3})
37
subdepartments = department.Subdepartments()
39
c.Check(len(subdepartments), Equals, 2)
40
c.Check(department.HasSubdepartments(), Equals, true)
42
// verify that the values are correct in all subdepartments
43
c.Check(subdepartments[0].Id(), Equals, department2.Id())
44
c.Check(subdepartments[0].Label(), Equals, department2.Label())
45
c.Check(subdepartments[0].AlternateLabel(), Equals, department2.AlternateLabel())
46
c.Check(subdepartments[1].Id(), Equals, department3.Id())
47
c.Check(subdepartments[1].Label(), Equals, department3.Label())
48
c.Check(subdepartments[1].AlternateLabel(), Equals, department3.AlternateLabel())
50
sub_depts := make([]*scopes.Department, 0)
51
department.SetSubdepartments(sub_depts)
53
subdepartments = department.Subdepartments()
54
c.Check(len(subdepartments), Equals, 0)
55
c.Check(department.HasSubdepartments(), Equals, false)
57
department.SetSubdepartments([]*scopes.Department{department2, department3})
59
subdepartments = department.Subdepartments()
60
c.Check(len(subdepartments), Equals, 2)
61
c.Check(department.HasSubdepartments(), Equals, true)
63
c.Check(subdepartments[0].Id(), Equals, department2.Id())
64
c.Check(subdepartments[0].Label(), Equals, department2.Label())
65
c.Check(subdepartments[0].AlternateLabel(), Equals, department2.AlternateLabel())
66
c.Check(subdepartments[1].Id(), Equals, department3.Id())
67
c.Check(subdepartments[1].Label(), Equals, department3.Label())
68
c.Check(subdepartments[1].AlternateLabel(), Equals, department3.AlternateLabel())
70
stored_query := department.Query()
71
c.Check(stored_query.ScopeID(), Equals, "scope")
72
c.Check(stored_query.DepartmentID(), Equals, "department_string2")
73
c.Check(stored_query.QueryString(), Equals, "query_string")
76
func (s *S) TestDepartmentDifferentCreation(c *C) {
77
query := scopes.NewCannedQuery("scope", "query_string", "department_string")
78
department, err := scopes.NewDepartment("", query, "TEST_DEPARTMENT")
81
c.Check(department.Id(), Equals, "")
82
c.Check(department.Label(), Equals, "TEST_DEPARTMENT")
85
func (s *S) TestDepartmentEmptyLabel(c *C) {
86
query := scopes.NewCannedQuery("scope", "query_string", "department_string")
87
department, err := scopes.NewDepartment("", query, "")
88
c.Check(err, Not(Equals), nil)
89
c.Check(department, IsNil)
91
department, err = scopes.NewDepartment("dept_id", query, "")
92
c.Check(err, Not(Equals), nil)
93
c.Check(department, IsNil)