1 package mapper
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7
8 "edge-infra.dev/pkg/edge/api/bsl/types"
9 )
10
11
12 func TestToEnterpriseUnitData(t *testing.T) {
13 data := ToEnterpriseUnitData("id1", "john doe", "he's alive", types.IsOrganization, true)
14 assert.Equal(t, data.EnterpriseUnitID, "id1")
15 assert.Equal(t, data.Name, "john doe")
16 assert.Equal(t, data.Active, true)
17 assert.Equal(t, data.EnterpriseTypeName, types.IsOrganization)
18 }
19
20
21 func TestToEdgeResponsePayload(t *testing.T) {
22 data := ToEdgeResponsePayload(200, "hello world")
23 assert.Equal(t, data.StatusCode, 200)
24 assert.Equal(t, data.Message, "hello world")
25 }
26
27
28 func TestEUsToOrganizations(t *testing.T) {
29 ueds := []*types.EnterpriseUnitData{
30 {
31 EnterpriseUnitID: "1",
32 Name: "org1",
33 Description: "one",
34 },
35 {
36 EnterpriseUnitID: "2",
37 Name: "org2",
38 Description: "two",
39 },
40 }
41 data := EnterpriseUnitsToBanners(ueds)
42 assert.Equal(t, len(data), 2)
43 assert.Equal(t, data[0].BannerBSLId, "1")
44 assert.Equal(t, data[0].Name, "org1")
45 assert.Equal(t, *data[0].Description, "one")
46 assert.Equal(t, data[1].BannerBSLId, "2")
47 assert.Equal(t, data[1].Name, "org2")
48 assert.Equal(t, *data[1].Description, "two")
49 }
50
51 func TestSubOrgsToOrganizations(t *testing.T) {
52 subOrgs := []*types.OrganizationViewData{
53 {
54 ID: "1",
55 DisplayName: "Sub Org 1",
56 Description: "Test Sub Org 1",
57 OrganizationName: "org-1",
58 Parent: false,
59 },
60 {
61 ID: "2",
62 DisplayName: "Sub Org 2",
63 Description: "Test Sub Org 2",
64 OrganizationName: "org-2",
65 Parent: false,
66 },
67 }
68 banners := SubOrgsToBanners(subOrgs)
69 assert.Equal(t, len(banners), 2)
70 assert.Equal(t, banners[0].BannerType, org)
71 assert.Equal(t, banners[0].BannerBSLId, subOrgs[0].ID)
72 assert.Equal(t, banners[0].Name, subOrgs[0].OrganizationName)
73 assert.Equal(t, *banners[0].Description, subOrgs[0].Description)
74 assert.Equal(t, banners[1].BannerType, org)
75 assert.Equal(t, banners[1].BannerBSLId, subOrgs[1].ID)
76 assert.Equal(t, banners[1].Name, subOrgs[1].OrganizationName)
77 assert.Equal(t, *banners[1].Description, subOrgs[1].Description)
78 }
79
80 func TestSubOrgToBanner(t *testing.T) {
81 suborg := &types.OrganizationViewData{
82 ID: "1",
83 DisplayName: "Sub Org 1",
84 Description: "Test Sub Org 1",
85 OrganizationName: "org-1",
86 Parent: false,
87 }
88 banner := SubOrgToBanner(suborg)
89 assert.Equal(t, banner.BannerType, org)
90 assert.Equal(t, *banner.Description, suborg.Description)
91 assert.Equal(t, banner.BannerBSLId, suborg.ID)
92 assert.Equal(t, banner.Name, suborg.OrganizationName)
93 }
94
95 func TestEUToBanner(t *testing.T) {
96 euData := &types.EnterpriseUnitData{
97 EnterpriseUnitID: "1",
98 Name: "org1",
99 Description: "one",
100 }
101 banner := EnterpriseUnitToBanner(euData)
102 assert.Equal(t, banner.BannerType, eu)
103 assert.Equal(t, *banner.Description, euData.Description)
104 assert.Equal(t, banner.BannerBSLId, euData.EnterpriseUnitID)
105 assert.Equal(t, banner.Name, euData.Name)
106 }
107
108 func TestUserAssignedOrgsToBanners(t *testing.T) {
109 userAssignedOrgs := []*types.ExternalUserData{
110 {
111 ID: "org-1",
112 Description: "test org one",
113 DisplayName: "Test Org 1",
114 OrganizationName: "test-org",
115 Primary: true,
116 },
117 {
118 ID: "org-2",
119 Description: "test org two",
120 DisplayName: "Test Org 2",
121 OrganizationName: "test-org-two",
122 Primary: false,
123 },
124 }
125 userAssignedOrgBanner := SubExternalUsersToBanners(userAssignedOrgs)
126 assert.Equal(t, len(userAssignedOrgs), 2)
127 assert.Equal(t, len(userAssignedOrgBanner), 1)
128 assert.Equal(t, userAssignedOrgBanner[0].BannerType, org)
129 assert.Equal(t, *userAssignedOrgBanner[0].Description, userAssignedOrgs[1].Description)
130 assert.Equal(t, userAssignedOrgBanner[0].BannerBSLId, userAssignedOrgs[1].ID)
131 assert.Equal(t, userAssignedOrgBanner[0].Name, userAssignedOrgs[1].OrganizationName)
132 }
133
134 func TestUserAssignedOrgToBanner(t *testing.T) {
135 userAssignedOrg := &types.ExternalUserData{
136 ID: "org-1",
137 Description: "test org one",
138 DisplayName: "Test Org 1",
139 OrganizationName: "test-org",
140 Primary: false,
141 }
142 userAssignedOrgBanner := SubExternalUserToBanner(userAssignedOrg)
143 assert.Equal(t, userAssignedOrgBanner.BannerType, org)
144 assert.Equal(t, *userAssignedOrgBanner.Description, userAssignedOrg.Description)
145 assert.Equal(t, userAssignedOrgBanner.BannerBSLId, userAssignedOrg.ID)
146 assert.Equal(t, userAssignedOrgBanner.Name, userAssignedOrg.OrganizationName)
147 }
148
View as plain text