Mono repo -> Master (#22553)
Combines the following repositories into one: https://github.com/mattermost/mattermost-server https://github.com/mattermost/mattermost-webapp https://github.com/mattermost/focalboard https://github.com/mattermost/mattermost-plugin-playbooks
Этот коммит содержится в:
89
server/channels/app/shared_channel_test.go
Обычный файл
89
server/channels/app/shared_channel_test.go
Обычный файл
@@ -0,0 +1,89 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package app
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/mattermost/mattermost-server/v6/model"
|
||||
)
|
||||
|
||||
func TestApp_CheckCanInviteToSharedChannel(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
|
||||
channel1 := th.CreateChannel(th.Context, th.BasicTeam)
|
||||
channel2 := th.CreateChannel(th.Context, th.BasicTeam)
|
||||
channel3 := th.CreateChannel(th.Context, th.BasicTeam)
|
||||
|
||||
data := []struct {
|
||||
channelId string
|
||||
home bool
|
||||
name string
|
||||
remoteId string
|
||||
}{
|
||||
{channelId: channel1.Id, home: true, name: "test_home", remoteId: ""},
|
||||
{channelId: channel2.Id, home: false, name: "test_remote", remoteId: model.NewId()},
|
||||
}
|
||||
|
||||
for _, d := range data {
|
||||
sc := &model.SharedChannel{
|
||||
ChannelId: d.channelId,
|
||||
TeamId: th.BasicTeam.Id,
|
||||
Home: d.home,
|
||||
ShareName: d.name,
|
||||
CreatorId: th.BasicUser.Id,
|
||||
RemoteId: d.remoteId,
|
||||
}
|
||||
_, err := th.App.SaveSharedChannel(th.Context, sc)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
t.Run("Test checkChannelNotShared: not yet shared channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelNotShared(th.Context, channel3.Id)
|
||||
assert.NoError(t, err, "unshared channel should not error")
|
||||
})
|
||||
|
||||
t.Run("Test checkChannelNotShared: already shared channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelNotShared(th.Context, channel1.Id)
|
||||
assert.Error(t, err, "already shared channel should error")
|
||||
})
|
||||
|
||||
t.Run("Test checkChannelNotShared: invalid channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelNotShared(th.Context, model.NewId())
|
||||
assert.Error(t, err, "invalid channel should error")
|
||||
})
|
||||
|
||||
t.Run("Test checkChannelIsShared: not yet shared channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelIsShared(channel3.Id)
|
||||
assert.Error(t, err, "unshared channel should error")
|
||||
})
|
||||
|
||||
t.Run("Test checkChannelIsShared: already shared channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelIsShared(channel1.Id)
|
||||
assert.NoError(t, err, "already channel should not error")
|
||||
})
|
||||
|
||||
t.Run("Test checkChannelIsShared: invalid channel", func(t *testing.T) {
|
||||
err := th.App.checkChannelIsShared(model.NewId())
|
||||
assert.Error(t, err, "invalid channel should error")
|
||||
})
|
||||
|
||||
t.Run("Test CheckCanInviteToSharedChannel: Home shared channel", func(t *testing.T) {
|
||||
err := th.App.CheckCanInviteToSharedChannel(data[0].channelId)
|
||||
assert.NoError(t, err, "home channel should allow invites")
|
||||
})
|
||||
|
||||
t.Run("Test CheckCanInviteToSharedChannel: Remote shared channel", func(t *testing.T) {
|
||||
err := th.App.CheckCanInviteToSharedChannel(data[1].channelId)
|
||||
assert.Error(t, err, "home channel should not allow invites")
|
||||
})
|
||||
|
||||
t.Run("Test CheckCanInviteToSharedChannel: Invalid shared channel", func(t *testing.T) {
|
||||
err := th.App.CheckCanInviteToSharedChannel(model.NewId())
|
||||
assert.Error(t, err, "invalid channel should not allow invites")
|
||||
})
|
||||
}
|
||||
Ссылка в новой задаче
Block a user