github.com/haalcala/mattermost-server-change-repo@v0.0.0-20210713015153-16753fbeee5f/store/storetest/user_terms_of_service.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package storetest 5 6 import ( 7 "errors" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 13 "github.com/mattermost/mattermost-server/v5/model" 14 "github.com/mattermost/mattermost-server/v5/store" 15 ) 16 17 func TestUserTermsOfServiceStore(t *testing.T, ss store.Store) { 18 t.Run("TestSaveUserTermsOfService", func(t *testing.T) { testSaveUserTermsOfService(t, ss) }) 19 t.Run("TestGetByUserTermsOfService", func(t *testing.T) { testGetByUserTermsOfService(t, ss) }) 20 t.Run("TestDeleteUserTermsOfService", func(t *testing.T) { testDeleteUserTermsOfService(t, ss) }) 21 } 22 23 func testSaveUserTermsOfService(t *testing.T, ss store.Store) { 24 userTermsOfService := &model.UserTermsOfService{ 25 UserId: model.NewId(), 26 TermsOfServiceId: model.NewId(), 27 } 28 29 savedUserTermsOfService, err := ss.UserTermsOfService().Save(userTermsOfService) 30 require.NoError(t, err) 31 assert.Equal(t, userTermsOfService.UserId, savedUserTermsOfService.UserId) 32 assert.Equal(t, userTermsOfService.TermsOfServiceId, savedUserTermsOfService.TermsOfServiceId) 33 assert.NotEmpty(t, savedUserTermsOfService.CreateAt) 34 } 35 36 func testGetByUserTermsOfService(t *testing.T, ss store.Store) { 37 userTermsOfService := &model.UserTermsOfService{ 38 UserId: model.NewId(), 39 TermsOfServiceId: model.NewId(), 40 } 41 42 _, err := ss.UserTermsOfService().Save(userTermsOfService) 43 require.NoError(t, err) 44 45 fetchedUserTermsOfService, err := ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 46 require.NoError(t, err) 47 assert.Equal(t, userTermsOfService.UserId, fetchedUserTermsOfService.UserId) 48 assert.Equal(t, userTermsOfService.TermsOfServiceId, fetchedUserTermsOfService.TermsOfServiceId) 49 assert.NotEmpty(t, fetchedUserTermsOfService.CreateAt) 50 } 51 52 func testDeleteUserTermsOfService(t *testing.T, ss store.Store) { 53 userTermsOfService := &model.UserTermsOfService{ 54 UserId: model.NewId(), 55 TermsOfServiceId: model.NewId(), 56 } 57 58 _, err := ss.UserTermsOfService().Save(userTermsOfService) 59 require.NoError(t, err) 60 61 _, err = ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 62 require.NoError(t, err) 63 64 err = ss.UserTermsOfService().Delete(userTermsOfService.UserId, userTermsOfService.TermsOfServiceId) 65 require.NoError(t, err) 66 67 _, err = ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 68 var nfErr *store.ErrNotFound 69 assert.Error(t, err) 70 assert.True(t, errors.As(err, &nfErr)) 71 }