diff options
author | Harshil Sharma <harshil.sharma@joshtechnologygroup.com> | 2018-09-26 20:49:22 +0000 |
---|---|---|
committer | Jesse Hallam <jesse.hallam@gmail.com> | 2018-09-26 16:49:22 -0400 |
commit | af275fe9242303581192258ef4f6457fa45a58e4 (patch) | |
tree | df05afdb0894d577574cbee5d056ffddeec3a93e /store/storetest/service_terms_store.go | |
parent | 4e59a27293394b6d5529efd13ad711daebbc0eb3 (diff) | |
download | chat-af275fe9242303581192258ef4f6457fa45a58e4.tar.gz chat-af275fe9242303581192258ef4f6457fa45a58e4.tar.bz2 chat-af275fe9242303581192258ef4f6457fa45a58e4.zip |
#MM-12130 changes for custom service terms (#9450)
* #MM-12130 changes for custom service terms
* Fixed styling
* Added getServiceTerms API
* removed unnecessary panic
* removed custom service terms text from flat config
* reverted user sql store as those changes are no longer needed
* added tests
* Updated a config key to be more standard
* Added copyright info
* Loading service terms only if the feature is enabled
* Loading service terms only if the feature is enabled
* removed unused index
* added createservice termns API
* made a param to bool instead of string
* added createservice termns API
* review fixes
* fixed styling
* Minor refactoring
* removed saveConfig and loadConfig magic
* added empty service terms text check to createServiceTerms API
* refactoed some urls to be terms_of_service instead of service_terms
* removed check for support settings
* changed URLs in tests
* removed unused code
* fixed a bug
* added service termd id in conif
* fixed a test
* review fixes
* minor fixes
* Fixed TestCreateServiceTerms
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) +} |