diff options
Diffstat (limited to 'store/storetest/service_terms_store.go')
-rw-r--r-- | store/storetest/service_terms_store.go | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/store/storetest/service_terms_store.go b/store/storetest/service_terms_store.go new file mode 100644 index 000000000..fcb209934 --- /dev/null +++ b/store/storetest/service_terms_store.go @@ -0,0 +1,82 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package storetest + +import ( + "github.com/mattermost/mattermost-server/model" + "github.com/mattermost/mattermost-server/store" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestServiceTermsStore(t *testing.T, ss store.Store) { + t.Run("TestSaveServiceTerms", func(t *testing.T) { testSaveServiceTerms(t, ss) }) + t.Run("TestGetLatestServiceTerms", func(t *testing.T) { testGetLatestServiceTerms(t, ss) }) + t.Run("TestGetServiceTerms", func(t *testing.T) { testGetServiceTerms(t, ss) }) +} + +func testSaveServiceTerms(t *testing.T, ss store.Store) { + u1 := model.User{} + u1.Username = model.NewId() + u1.Email = MakeEmail() + u1.Nickname = model.NewId() + store.Must(ss.User().Save(&u1)) + + serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} + r1 := <-ss.ServiceTerms().Save(serviceTerms) + + if r1.Err != nil { + t.Fatal(r1.Err) + } + + savedServiceTerms := r1.Data.(*model.ServiceTerms) + if len(savedServiceTerms.Id) != 26 { + t.Fatal("Id should have been populated") + } + + if savedServiceTerms.CreateAt == 0 { + t.Fatal("Create at should have been populated") + } +} + +func testGetLatestServiceTerms(t *testing.T, ss store.Store) { + u1 := model.User{} + u1.Username = model.NewId() + u1.Email = MakeEmail() + u1.Nickname = model.NewId() + store.Must(ss.User().Save(&u1)) + + serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} + store.Must(ss.ServiceTerms().Save(serviceTerms)) + + r1 := <-ss.ServiceTerms().GetLatest(true) + if r1.Err != nil { + t.Fatal(r1.Err) + } + + fetchedServiceTerms := r1.Data.(*model.ServiceTerms) + assert.Equal(t, serviceTerms.Text, fetchedServiceTerms.Text) + assert.Equal(t, serviceTerms.UserId, fetchedServiceTerms.UserId) +} + +func testGetServiceTerms(t *testing.T, ss store.Store) { + u1 := model.User{} + u1.Username = model.NewId() + u1.Email = MakeEmail() + u1.Nickname = model.NewId() + store.Must(ss.User().Save(&u1)) + + serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} + store.Must(ss.ServiceTerms().Save(serviceTerms)) + + r1 := <-ss.ServiceTerms().Get("an_invalid_id", true) + assert.NotNil(t, r1.Err) + assert.Nil(t, r1.Data) + + r1 = <-ss.ServiceTerms().Get(serviceTerms.Id, true) + assert.Nil(t, r1.Err) + + receivedServiceTerms := r1.Data.(*model.ServiceTerms) + assert.Equal(t, "service terms", receivedServiceTerms.Text) +} |