2020-10-21 11:32:13 +02:00
|
|
|
package app
|
|
|
|
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/golang/mock/gomock"
|
2021-02-02 21:06:28 +01:00
|
|
|
"github.com/mattermost/focalboard/server/auth"
|
2021-01-26 23:13:46 +01:00
|
|
|
"github.com/mattermost/focalboard/server/services/config"
|
|
|
|
"github.com/mattermost/focalboard/server/services/store/mockstore"
|
|
|
|
"github.com/mattermost/focalboard/server/services/webhook"
|
|
|
|
"github.com/mattermost/focalboard/server/ws"
|
2020-10-21 11:32:13 +02:00
|
|
|
"github.com/mattermost/mattermost-server/v5/services/filesstore/mocks"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestGetParentID(t *testing.T) {
|
|
|
|
ctrl := gomock.NewController(t)
|
|
|
|
defer ctrl.Finish()
|
2020-10-29 21:32:51 +01:00
|
|
|
cfg := config.Configuration{}
|
2020-10-21 11:32:13 +02:00
|
|
|
store := mockstore.NewMockStore(ctrl)
|
2021-02-02 21:06:28 +01:00
|
|
|
auth := auth.New(&cfg, store)
|
|
|
|
wsserver := ws.NewServer(auth, true)
|
2020-10-29 21:42:43 +01:00
|
|
|
webhook := webhook.NewClient(&cfg)
|
2021-02-02 21:11:21 +01:00
|
|
|
app := New(&cfg, store, auth, wsserver, &mocks.FileBackend{}, webhook)
|
2020-10-22 13:34:42 +02:00
|
|
|
|
2020-10-21 11:32:13 +02:00
|
|
|
t.Run("success query", func(t *testing.T) {
|
|
|
|
store.EXPECT().GetParentID(gomock.Eq("test-id")).Return("test-parent-id", nil)
|
|
|
|
result, err := app.GetParentID("test-id")
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, "test-parent-id", result)
|
|
|
|
})
|
2020-10-22 13:34:42 +02:00
|
|
|
|
2020-10-21 11:32:13 +02:00
|
|
|
t.Run("fail query", func(t *testing.T) {
|
|
|
|
store.EXPECT().GetParentID(gomock.Eq("test-id")).Return("", errors.New("block-not-found"))
|
|
|
|
_, err := app.GetParentID("test-id")
|
|
|
|
require.Error(t, err)
|
|
|
|
require.Equal(t, "block-not-found", err.Error())
|
|
|
|
})
|
|
|
|
}
|