...

Source file src/edge-infra.dev/pkg/edge/api/graph/mapper/mapper_organization_test.go

Documentation: edge-infra.dev/pkg/edge/api/graph/mapper

     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  // Test ToEnterpriseUnitData
    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  // Test ToEdgeResponsePayload
    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  // Test ToBanners
    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