github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/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/mattermost/mattermost-server/v5/model" 11 "github.com/mattermost/mattermost-server/v5/store" 12 "github.com/stretchr/testify/assert" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestUserTermsOfServiceStore(t *testing.T, ss store.Store) { 17 t.Run("TestSaveUserTermsOfService", func(t *testing.T) { testSaveUserTermsOfService(t, ss) }) 18 t.Run("TestGetByUserTermsOfService", func(t *testing.T) { testGetByUserTermsOfService(t, ss) }) 19 t.Run("TestDeleteUserTermsOfService", func(t *testing.T) { testDeleteUserTermsOfService(t, ss) }) 20 } 21 22 func testSaveUserTermsOfService(t *testing.T, ss store.Store) { 23 userTermsOfService := &model.UserTermsOfService{ 24 UserId: model.NewId(), 25 TermsOfServiceId: model.NewId(), 26 } 27 28 savedUserTermsOfService, err := ss.UserTermsOfService().Save(userTermsOfService) 29 require.Nil(t, err) 30 assert.Equal(t, userTermsOfService.UserId, savedUserTermsOfService.UserId) 31 assert.Equal(t, userTermsOfService.TermsOfServiceId, savedUserTermsOfService.TermsOfServiceId) 32 assert.NotEmpty(t, savedUserTermsOfService.CreateAt) 33 } 34 35 func testGetByUserTermsOfService(t *testing.T, ss store.Store) { 36 userTermsOfService := &model.UserTermsOfService{ 37 UserId: model.NewId(), 38 TermsOfServiceId: model.NewId(), 39 } 40 41 _, err := ss.UserTermsOfService().Save(userTermsOfService) 42 require.Nil(t, err) 43 44 fetchedUserTermsOfService, err := ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 45 require.Nil(t, err) 46 assert.Equal(t, userTermsOfService.UserId, fetchedUserTermsOfService.UserId) 47 assert.Equal(t, userTermsOfService.TermsOfServiceId, fetchedUserTermsOfService.TermsOfServiceId) 48 assert.NotEmpty(t, fetchedUserTermsOfService.CreateAt) 49 } 50 51 func testDeleteUserTermsOfService(t *testing.T, ss store.Store) { 52 userTermsOfService := &model.UserTermsOfService{ 53 UserId: model.NewId(), 54 TermsOfServiceId: model.NewId(), 55 } 56 57 _, err := ss.UserTermsOfService().Save(userTermsOfService) 58 require.Nil(t, err) 59 60 _, err = ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 61 require.Nil(t, err) 62 63 err = ss.UserTermsOfService().Delete(userTermsOfService.UserId, userTermsOfService.TermsOfServiceId) 64 require.Nil(t, err) 65 66 _, err = ss.UserTermsOfService().GetByUser(userTermsOfService.UserId) 67 var nfErr *store.ErrNotFound 68 assert.NotNil(t, err) 69 assert.True(t, errors.As(err, &nfErr)) 70 }