* improve test coverage reporting / accuracy * handle absolute coverpaths * move tests into multiple files * rename codecov.yml (https://github.com/codecov/support/issues/426)
90 строки
2.7 KiB
Go
90 строки
2.7 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
package main
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/mattermost/mattermost-server/api"
|
|
"github.com/mattermost/mattermost-server/model"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestJoinChannel(t *testing.T) {
|
|
th := api.Setup().InitBasic()
|
|
defer th.TearDown()
|
|
|
|
channel := th.CreateChannel(th.BasicClient, th.BasicTeam)
|
|
|
|
checkCommand(t, "channel", "add", th.BasicTeam.Name+":"+channel.Name, th.BasicUser2.Email)
|
|
|
|
// Joining twice should succeed
|
|
checkCommand(t, "channel", "add", th.BasicTeam.Name+":"+channel.Name, th.BasicUser2.Email)
|
|
|
|
// should fail because channel does not exist
|
|
require.Error(t, runCommand(t, "channel", "add", th.BasicTeam.Name+":"+channel.Name+"asdf", th.BasicUser2.Email))
|
|
}
|
|
|
|
func TestRemoveChannel(t *testing.T) {
|
|
th := api.Setup().InitBasic()
|
|
defer th.TearDown()
|
|
|
|
channel := th.CreateChannel(th.BasicClient, th.BasicTeam)
|
|
|
|
checkCommand(t, "channel", "add", th.BasicTeam.Name+":"+channel.Name, th.BasicUser2.Email)
|
|
|
|
// should fail because channel does not exist
|
|
require.Error(t, runCommand(t, "channel", "remove", th.BasicTeam.Name+":doesnotexist", th.BasicUser2.Email))
|
|
|
|
checkCommand(t, "channel", "remove", th.BasicTeam.Name+":"+channel.Name, th.BasicUser2.Email)
|
|
|
|
// Leaving twice should succeed
|
|
checkCommand(t, "channel", "remove", th.BasicTeam.Name+":"+channel.Name, th.BasicUser2.Email)
|
|
}
|
|
|
|
func TestListChannels(t *testing.T) {
|
|
th := api.Setup().InitBasic()
|
|
defer th.TearDown()
|
|
|
|
channel := th.CreateChannel(th.BasicClient, th.BasicTeam)
|
|
th.BasicClient.Must(th.BasicClient.DeleteChannel(channel.Id))
|
|
|
|
output := checkCommand(t, "channel", "list", th.BasicTeam.Name)
|
|
|
|
if !strings.Contains(string(output), "town-square") {
|
|
t.Fatal("should have channels")
|
|
}
|
|
|
|
if !strings.Contains(string(output), channel.Name+" (archived)") {
|
|
t.Fatal("should have archived channel")
|
|
}
|
|
}
|
|
|
|
func TestRestoreChannel(t *testing.T) {
|
|
th := api.Setup().InitBasic()
|
|
defer th.TearDown()
|
|
|
|
channel := th.CreateChannel(th.BasicClient, th.BasicTeam)
|
|
th.BasicClient.Must(th.BasicClient.DeleteChannel(channel.Id))
|
|
|
|
checkCommand(t, "channel", "restore", th.BasicTeam.Name+":"+channel.Name)
|
|
|
|
// restoring twice should succeed
|
|
checkCommand(t, "channel", "restore", th.BasicTeam.Name+":"+channel.Name)
|
|
}
|
|
|
|
func TestCreateChannel(t *testing.T) {
|
|
th := api.Setup().InitBasic()
|
|
defer th.TearDown()
|
|
|
|
id := model.NewId()
|
|
name := "name" + id
|
|
|
|
checkCommand(t, "channel", "create", "--display_name", name, "--team", th.BasicTeam.Name, "--name", name)
|
|
|
|
name = name + "-private"
|
|
checkCommand(t, "channel", "create", "--display_name", name, "--team", th.BasicTeam.Name, "--private", "--name", name)
|
|
}
|