databag/net/server/internal/ucAddArticle_test.go

52 lines
2.0 KiB
Go
Raw Normal View History

package databag
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestAddArticle(t *testing.T) {
2022-01-27 08:07:42 +00:00
var set *TestGroup
var err error
2022-01-27 22:53:03 +00:00
var rev *Revision
var article Article
2022-02-02 07:39:25 +00:00
var articles *[]Article
var articleAccess *ArticleAccess
2022-01-27 22:53:03 +00:00
// setup testing group
2022-01-28 07:01:17 +00:00
set, err = AddTestGroup("addarticle")
2022-01-27 08:07:42 +00:00
assert.NoError(t, err)
2022-01-27 22:53:03 +00:00
2022-01-28 07:01:17 +00:00
// initial revision
2022-02-02 07:39:25 +00:00
rev = GetTestRevision(set.B.Revisions)
2022-01-27 22:53:03 +00:00
// create article
2022-02-02 07:39:25 +00:00
articleAccess = &ArticleAccess{ Groups: []string{set.A.B.GroupId} }
assert.NoError(t, SendEndpointTest(AddArticle, "POST", "/content/articles", nil, articleAccess, APP_TOKENAPP, set.A.Token, &article))
2022-01-28 07:01:17 +00:00
2022-02-02 07:39:25 +00:00
assert.NoError(t, SendEndpointTest(AddArticle, "POST", "/content/articles", nil, articleAccess, APP_TOKENAPP, set.A.Token, &article))
2022-01-27 22:53:03 +00:00
2022-02-02 07:39:25 +00:00
assert.NoError(t, SendEndpointTest(RemoveArticle, "DELETE", "/content/articls/" + article.ArticleId, &map[string]string{"articleId": article.ArticleId }, nil, APP_TOKENAPP, set.A.Token, nil))
articles = &[]Article{}
assert.NoError(t, SendEndpointTest(GetArticles, "GET", "/content/articles", nil, nil, APP_TOKENAPP, set.A.Token, articles))
assert.Equal(t, 2, len(*articles))
assert.True(t, (*articles)[0].ArticleData != nil || (*articles)[1].ArticleData != nil)
assert.True(t, (*articles)[0].ArticleData == nil || (*articles)[1].ArticleData == nil)
articles = &[]Article{}
assert.NoError(t, SendEndpointTest(GetArticles, "GET", "/content/articles", nil, nil, APP_TOKENCONTACT, set.B.A.Token, articles))
assert.Equal(t, 2, len(*articles))
assert.True(t, (*articles)[0].ArticleData != nil || (*articles)[1].ArticleData != nil)
assert.True(t, (*articles)[0].ArticleData == nil || (*articles)[1].ArticleData == nil)
articles = &[]Article{}
assert.NoError(t, SendEndpointTest(GetArticles, "GET", "/content/articles", nil, nil, APP_TOKENCONTACT, set.C.A.Token, articles))
assert.Equal(t, 2, len(*articles))
assert.True(t, (*articles)[0].ArticleData == nil && (*articles)[1].ArticleData == nil)
2022-01-29 06:21:54 +00:00
2022-01-28 07:01:17 +00:00
// view article
2022-02-02 07:39:25 +00:00
assert.NotEqual(t, GetTestRevision(set.B.Revisions).Card, rev)
2022-01-27 22:53:03 +00:00
}