mirror of
https://github.com/hanzoai/team.git
synced 2026-09-30 01:57:35 +00:00
* Include team membership data in user CSV export Add a Teams column to the System Console user CSV export so that the teams each user belongs to are included in the exported data. Co-authored-by: mattermost-code <[email protected]> * Add tests for team membership data in user CSV export Co-authored-by: mattermost-code <[email protected]> * Strengthen tests for user CSV export team membership Cover ordering, soft-deleted team/membership exclusion, exact CSV header order, and report row column positions. Co-authored-by: mattermost-code <[email protected]> --------- Co-authored-by: mattermost-code <[email protected]> Co-authored-by: Hanzo Dev <[email protected]>
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package model
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestUserReportToReport(t *testing.T) {
|
|
t.Run("places team membership between channel count and deleted-at", func(t *testing.T) {
|
|
channelCount := 5
|
|
deleteAt := int64(1700000000000)
|
|
report := &UserReport{
|
|
User: User{
|
|
Id: "user-id",
|
|
Username: "some-user",
|
|
Email: "[email protected]",
|
|
DeleteAt: deleteAt,
|
|
},
|
|
ChannelCount: &channelCount,
|
|
Teams: "Engineering, Marketing",
|
|
}
|
|
|
|
row := report.ToReport()
|
|
|
|
require.Len(t, row, 14)
|
|
require.Equal(t, "user-id", row[0])
|
|
require.Equal(t, "some-user", row[1])
|
|
require.Equal(t, "[email protected]", row[2])
|
|
// ChannelCount, Teams and DeletedAt are the trailing three columns, in
|
|
// that order.
|
|
require.Equal(t, "5", row[11])
|
|
require.Equal(t, "Engineering, Marketing", row[12])
|
|
require.Equal(t, time.UnixMilli(deleteAt).String(), row[13])
|
|
})
|
|
|
|
t.Run("renders an empty team membership when the user has no teams", func(t *testing.T) {
|
|
report := &UserReport{
|
|
User: User{Id: "user-id", Username: "some-user"},
|
|
Teams: "",
|
|
}
|
|
|
|
row := report.ToReport()
|
|
|
|
require.Equal(t, "", row[12])
|
|
})
|
|
}
|