github.com/lologarithm/mattermost-server@v5.3.2-0.20181002060438-c82a84ed765b+incompatible/store/storetest/service_terms_store.go (about) 1 // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package storetest 5 6 import ( 7 "github.com/mattermost/mattermost-server/model" 8 "github.com/mattermost/mattermost-server/store" 9 "github.com/stretchr/testify/assert" 10 "testing" 11 ) 12 13 func TestServiceTermsStore(t *testing.T, ss store.Store) { 14 t.Run("TestSaveServiceTerms", func(t *testing.T) { testSaveServiceTerms(t, ss) }) 15 t.Run("TestGetLatestServiceTerms", func(t *testing.T) { testGetLatestServiceTerms(t, ss) }) 16 t.Run("TestGetServiceTerms", func(t *testing.T) { testGetServiceTerms(t, ss) }) 17 } 18 19 func testSaveServiceTerms(t *testing.T, ss store.Store) { 20 u1 := model.User{} 21 u1.Username = model.NewId() 22 u1.Email = MakeEmail() 23 u1.Nickname = model.NewId() 24 store.Must(ss.User().Save(&u1)) 25 26 serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} 27 r1 := <-ss.ServiceTerms().Save(serviceTerms) 28 29 if r1.Err != nil { 30 t.Fatal(r1.Err) 31 } 32 33 savedServiceTerms := r1.Data.(*model.ServiceTerms) 34 if len(savedServiceTerms.Id) != 26 { 35 t.Fatal("Id should have been populated") 36 } 37 38 if savedServiceTerms.CreateAt == 0 { 39 t.Fatal("Create at should have been populated") 40 } 41 } 42 43 func testGetLatestServiceTerms(t *testing.T, ss store.Store) { 44 u1 := model.User{} 45 u1.Username = model.NewId() 46 u1.Email = MakeEmail() 47 u1.Nickname = model.NewId() 48 store.Must(ss.User().Save(&u1)) 49 50 serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} 51 store.Must(ss.ServiceTerms().Save(serviceTerms)) 52 53 r1 := <-ss.ServiceTerms().GetLatest(true) 54 if r1.Err != nil { 55 t.Fatal(r1.Err) 56 } 57 58 fetchedServiceTerms := r1.Data.(*model.ServiceTerms) 59 assert.Equal(t, serviceTerms.Text, fetchedServiceTerms.Text) 60 assert.Equal(t, serviceTerms.UserId, fetchedServiceTerms.UserId) 61 } 62 63 func testGetServiceTerms(t *testing.T, ss store.Store) { 64 u1 := model.User{} 65 u1.Username = model.NewId() 66 u1.Email = MakeEmail() 67 u1.Nickname = model.NewId() 68 store.Must(ss.User().Save(&u1)) 69 70 serviceTerms := &model.ServiceTerms{Text: "service terms", UserId: u1.Id} 71 store.Must(ss.ServiceTerms().Save(serviceTerms)) 72 73 r1 := <-ss.ServiceTerms().Get("an_invalid_id", true) 74 assert.NotNil(t, r1.Err) 75 assert.Nil(t, r1.Data) 76 77 r1 = <-ss.ServiceTerms().Get(serviceTerms.Id, true) 78 assert.Nil(t, r1.Err) 79 80 receivedServiceTerms := r1.Data.(*model.ServiceTerms) 81 assert.Equal(t, "service terms", receivedServiceTerms.Text) 82 }