package mapper import ( "testing" "github.com/stretchr/testify/assert" "edge-infra.dev/pkg/edge/api/bsl/types" ) // Test ToEnterpriseUnitData func TestToEnterpriseUnitData(t *testing.T) { data := ToEnterpriseUnitData("id1", "john doe", "he's alive", types.IsOrganization, true) assert.Equal(t, data.EnterpriseUnitID, "id1") assert.Equal(t, data.Name, "john doe") assert.Equal(t, data.Active, true) assert.Equal(t, data.EnterpriseTypeName, types.IsOrganization) } // Test ToEdgeResponsePayload func TestToEdgeResponsePayload(t *testing.T) { data := ToEdgeResponsePayload(200, "hello world") assert.Equal(t, data.StatusCode, 200) assert.Equal(t, data.Message, "hello world") } // Test ToBanners func TestEUsToOrganizations(t *testing.T) { ueds := []*types.EnterpriseUnitData{ { EnterpriseUnitID: "1", Name: "org1", Description: "one", }, { EnterpriseUnitID: "2", Name: "org2", Description: "two", }, } data := EnterpriseUnitsToBanners(ueds) assert.Equal(t, len(data), 2) assert.Equal(t, data[0].BannerBSLId, "1") assert.Equal(t, data[0].Name, "org1") assert.Equal(t, *data[0].Description, "one") assert.Equal(t, data[1].BannerBSLId, "2") assert.Equal(t, data[1].Name, "org2") assert.Equal(t, *data[1].Description, "two") } func TestSubOrgsToOrganizations(t *testing.T) { subOrgs := []*types.OrganizationViewData{ { ID: "1", DisplayName: "Sub Org 1", Description: "Test Sub Org 1", OrganizationName: "org-1", Parent: false, }, { ID: "2", DisplayName: "Sub Org 2", Description: "Test Sub Org 2", OrganizationName: "org-2", Parent: false, }, } banners := SubOrgsToBanners(subOrgs) assert.Equal(t, len(banners), 2) assert.Equal(t, banners[0].BannerType, org) assert.Equal(t, banners[0].BannerBSLId, subOrgs[0].ID) assert.Equal(t, banners[0].Name, subOrgs[0].OrganizationName) assert.Equal(t, *banners[0].Description, subOrgs[0].Description) assert.Equal(t, banners[1].BannerType, org) assert.Equal(t, banners[1].BannerBSLId, subOrgs[1].ID) assert.Equal(t, banners[1].Name, subOrgs[1].OrganizationName) assert.Equal(t, *banners[1].Description, subOrgs[1].Description) } func TestSubOrgToBanner(t *testing.T) { suborg := &types.OrganizationViewData{ ID: "1", DisplayName: "Sub Org 1", Description: "Test Sub Org 1", OrganizationName: "org-1", Parent: false, } banner := SubOrgToBanner(suborg) assert.Equal(t, banner.BannerType, org) assert.Equal(t, *banner.Description, suborg.Description) assert.Equal(t, banner.BannerBSLId, suborg.ID) assert.Equal(t, banner.Name, suborg.OrganizationName) } func TestEUToBanner(t *testing.T) { euData := &types.EnterpriseUnitData{ EnterpriseUnitID: "1", Name: "org1", Description: "one", } banner := EnterpriseUnitToBanner(euData) assert.Equal(t, banner.BannerType, eu) assert.Equal(t, *banner.Description, euData.Description) assert.Equal(t, banner.BannerBSLId, euData.EnterpriseUnitID) assert.Equal(t, banner.Name, euData.Name) } func TestUserAssignedOrgsToBanners(t *testing.T) { userAssignedOrgs := []*types.ExternalUserData{ { ID: "org-1", Description: "test org one", DisplayName: "Test Org 1", OrganizationName: "test-org", Primary: true, }, { ID: "org-2", Description: "test org two", DisplayName: "Test Org 2", OrganizationName: "test-org-two", Primary: false, }, } userAssignedOrgBanner := SubExternalUsersToBanners(userAssignedOrgs) assert.Equal(t, len(userAssignedOrgs), 2) assert.Equal(t, len(userAssignedOrgBanner), 1) assert.Equal(t, userAssignedOrgBanner[0].BannerType, org) assert.Equal(t, *userAssignedOrgBanner[0].Description, userAssignedOrgs[1].Description) assert.Equal(t, userAssignedOrgBanner[0].BannerBSLId, userAssignedOrgs[1].ID) assert.Equal(t, userAssignedOrgBanner[0].Name, userAssignedOrgs[1].OrganizationName) } func TestUserAssignedOrgToBanner(t *testing.T) { userAssignedOrg := &types.ExternalUserData{ ID: "org-1", Description: "test org one", DisplayName: "Test Org 1", OrganizationName: "test-org", Primary: false, } userAssignedOrgBanner := SubExternalUserToBanner(userAssignedOrg) assert.Equal(t, userAssignedOrgBanner.BannerType, org) assert.Equal(t, *userAssignedOrgBanner.Description, userAssignedOrg.Description) assert.Equal(t, userAssignedOrgBanner.BannerBSLId, userAssignedOrg.ID) assert.Equal(t, userAssignedOrgBanner.Name, userAssignedOrg.OrganizationName) }