diff options
Diffstat (limited to 'models/user_follow_test.go')
-rw-r--r-- | models/user_follow_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/models/user_follow_test.go b/models/user_follow_test.go new file mode 100644 index 0000000000..59392dcb1d --- /dev/null +++ b/models/user_follow_test.go @@ -0,0 +1,45 @@ +package models + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestIsFollowing(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + assert.True(t, IsFollowing(4, 2)) + assert.False(t, IsFollowing(2, 4)) + assert.False(t, IsFollowing(5, NonexistentID)) + assert.False(t, IsFollowing(NonexistentID, 5)) + assert.False(t, IsFollowing(NonexistentID, NonexistentID)) +} + +func TestFollowUser(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + + testSuccess := func(followerID, followedID int64) { + assert.NoError(t, FollowUser(followerID, followedID)) + AssertExistsAndLoadBean(t, &Follow{UserID: followerID, FollowID: followedID}) + } + testSuccess(4, 2) + testSuccess(5, 2) + + assert.NoError(t, FollowUser(2, 2)) + + CheckConsistencyFor(t, &User{}) +} + +func TestUnfollowUser(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + + testSuccess := func(followerID, followedID int64) { + assert.NoError(t, UnfollowUser(followerID, followedID)) + AssertNotExistsBean(t, &Follow{UserID: followerID, FollowID: followedID}) + } + testSuccess(4, 2) + testSuccess(5, 2) + testSuccess(2, 2) + + CheckConsistencyFor(t, &User{}) +} |