Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/4754-backup-7' into 4754-backup-8
Browse files Browse the repository at this point in the history
  • Loading branch information
HiteshRepo committed Dec 15, 2023
2 parents 65ef50c + e48c221 commit ce4e836
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 3 deletions.
4 changes: 4 additions & 0 deletions src/internal/m365/collection/site/collection.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ func (sc Collection) PreviousPath() path.Path {
return nil
}

func (sc Collection) LocationPath() *path.Builder {
return path.Builder{}.Append(sc.fullPath.Folders()...)
}

func (sc Collection) State() data.CollectionState {
return data.NewState
}
Expand Down
30 changes: 30 additions & 0 deletions src/pkg/services/m365/api/lists.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,5 +139,35 @@ func (c Lists) getListContents(ctx context.Context, siteID, listID string) (
return nil, nil, nil, err
}

for _, li := range lItems {
fields, err := c.getListItemFields(ctx, siteID, listID, ptr.Val(li.GetId()))
if err != nil {
return nil, nil, nil, err
}

li.SetFields(fields)
}

return cols, cTypes, lItems, nil
}

func (c Lists) getListItemFields(
ctx context.Context,
siteID, listID, itemID string,
) (models.FieldValueSetable, error) {
prefix := c.Stable.
Client().
Sites().
BySiteId(siteID).
Lists().
ByListId(listID).
Items().
ByListItemId(itemID)

fields, err := prefix.Fields().Get(ctx, nil)
if err != nil {
return nil, err
}

return fields, nil
}
31 changes: 28 additions & 3 deletions src/pkg/services/m365/api/lists_pager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ import (
"github.com/alcionai/clues"
"github.com/h2non/gock"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"gotest.tools/v3/assert"

"github.com/alcionai/corso/src/internal/common/ptr"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
graphTD "github.com/alcionai/corso/src/pkg/services/m365/api/graph/testdata"
Expand Down Expand Up @@ -47,6 +48,11 @@ func (suite *ListsPagerIntgSuite) TestEnumerateLists_withAssociatedRelationships
colLinkID = "fake-collink-id"
cTypeID = "fake-ctype-id"
listItemID = "fake-list-item-id"

fieldsData = map[string]any{
"itemName": "item1",
"itemSize": 4,
}
)

ctx, flush := tester.NewContext(t)
Expand All @@ -62,14 +68,15 @@ func (suite *ListsPagerIntgSuite) TestEnumerateLists_withAssociatedRelationships
numColumnDefName,
colLinkID,
cTypeID,
listItemID)
listItemID,
fieldsData)

lists, err := ac.GetLists(ctx, suite.its.site.id, CallConfig{})
require.NoError(t, err)
require.Equal(t, 1, len(lists))

for _, list := range lists {
suite.testEnumerateListItems(ctx, list, listItemID)
suite.testEnumerateListItems(ctx, list, listItemID, fieldsData)
suite.testEnumerateColumns(ctx, list, textColumnDefID)
suite.testEnumerateContentTypes(ctx, list, cTypeID, colLinkID, numColumnDefID)
}
Expand All @@ -79,6 +86,7 @@ func (suite *ListsPagerIntgSuite) testEnumerateListItems(
ctx context.Context,
list models.Listable,
expectedListItemID string,
setFieldsData map[string]any,
) []models.ListItemable {
var listItems []models.ListItemable

Expand All @@ -95,6 +103,18 @@ func (suite *ListsPagerIntgSuite) testEnumerateListItems(

for _, li := range listItems {
assert.Equal(t, expectedListItemID, *li.GetId())

fields := li.GetFields()
require.NotEmpty(t, fields)

fieldsData := fields.GetAdditionalData()
expectedItemName := setFieldsData["itemName"].(string)
actualItemName := ptr.Val(fieldsData["itemName"].(*string))
expectedItemSize := setFieldsData["itemSize"].(int)
actualItemSize := int(ptr.Val(fieldsData["itemSize"].(*float64)))

assert.Equal(t, expectedItemName, actualItemName)
assert.Equal(t, expectedItemSize, actualItemSize)
}
})

Expand Down Expand Up @@ -222,6 +242,7 @@ func (suite *ListsPagerIntgSuite) setStubListAndItsRelationShip(
colLinkID,
cTypeID,
listItemID string,
fieldsData map[string]any,
) {
list := models.NewList()
list.SetId(&listID)
Expand Down Expand Up @@ -261,8 +282,12 @@ func (suite *ListsPagerIntgSuite) setStubListAndItsRelationShip(
cTypesCol := models.NewContentTypeCollectionResponse()
cTypesCol.SetValue([]models.ContentTypeable{cTypes})

fields := models.NewFieldValueSet()
fields.SetAdditionalData(fieldsData)

listItem := models.NewListItem()
listItem.SetId(&listItemID)
listItem.SetFields(fields)

listItemCol := models.NewListItemCollectionResponse()
listItemCol.SetValue([]models.ListItemable{listItem})
Expand Down

0 comments on commit ce4e836

Please sign in to comment.