Replace db count query in user signup process (#18072)

Этот коммит содержится в:
Claudio Costa
2021-08-12 11:23:21 +02:00
коммит произвёл GitHub
родитель d3973557fc
Коммит bd65e8daf9
12 изменённых файлов: 126 добавлений и 9 удалений

Просмотреть файл

@@ -1038,6 +1038,27 @@ func (_m *UserStore) InvalidateProfilesInChannelCacheByUser(userID string) {
_m.Called(userID)
}
// IsEmpty provides a mock function with given fields:
func (_m *UserStore) IsEmpty() (bool, error) {
ret := _m.Called()
var r0 bool
if rf, ok := ret.Get(0).(func() bool); ok {
r0 = rf()
} else {
r0 = ret.Get(0).(bool)
}
var r1 error
if rf, ok := ret.Get(1).(func() error); ok {
r1 = rf()
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// PermanentDelete provides a mock function with given fields: userID
func (_m *UserStore) PermanentDelete(userID string) error {
ret := _m.Called(userID)

Просмотреть файл

@@ -36,6 +36,7 @@ func TestUserStore(t *testing.T, ss store.Store, s SqlStore) {
require.NoError(t, err, "failed cleaning up test user %s", u.Username)
}
t.Run("IsEmpty", func(t *testing.T) { testIsEmpty(t, ss) })
t.Run("Count", func(t *testing.T) { testCount(t, ss) })
t.Run("AnalyticsActiveCount", func(t *testing.T) { testUserStoreAnalyticsActiveCount(t, ss, s) })
t.Run("AnalyticsActiveCountForPeriod", func(t *testing.T) { testUserStoreAnalyticsActiveCountForPeriod(t, ss, s) })
@@ -5711,3 +5712,28 @@ func testGetKnownUsers(t *testing.T, ss store.Store) {
assert.ElementsMatch(t, userIds, []string{u2.Id, u3.Id})
})
}
func testIsEmpty(t *testing.T, ss store.Store) {
ok, err := ss.User().IsEmpty()
require.NoError(t, err)
require.True(t, ok)
u := model.User{
Email: MakeEmail(),
Username: model.NewId(),
}
_, err = ss.User().Save(&u)
require.NoError(t, err)
ok, err = ss.User().IsEmpty()
require.NoError(t, err)
require.False(t, ok)
err = ss.User().PermanentDelete(u.Id)
require.NoError(t, err)
ok, err = ss.User().IsEmpty()
require.NoError(t, err)
require.True(t, ok)
}