From 537aebc87388dddad8b1fd49fad58c33cedb0d27 Mon Sep 17 00:00:00 2001 From: konrad Date: Tue, 30 Jan 2018 12:40:47 +0100 Subject: [PATCH] Added tests for deleting the last user --- models/user_delete.go | 2 -- models/user_test.go | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/models/user_delete.go b/models/user_delete.go index 1320402..4e5a7de 100644 --- a/models/user_delete.go +++ b/models/user_delete.go @@ -1,7 +1,5 @@ package models -import "fmt" - // DeleteUserByID deletes a user by its ID func DeleteUserByID(id int64) error { // Check if the id is 0 diff --git a/models/user_test.go b/models/user_test.go index 0238e97..1e75fd9 100644 --- a/models/user_test.go +++ b/models/user_test.go @@ -19,6 +19,9 @@ func TestCreateUser(t *testing.T) { } // Delete every preexisting user to have a fresh start + _, err := x.Where("1 = 1").Delete(&User{}) + assert.NoError(t, err) + allusers, err := ListUsers("") assert.NoError(t, err) for _, user := range allusers { @@ -31,6 +34,10 @@ func TestCreateUser(t *testing.T) { createdUser, err := CreateUser(dummyuser) assert.NoError(t, err) + // Create a second new user + createdUser2, err := CreateUser(User{Username:dummyuser.Username + "2", Email:dummyuser.Email + "m", Password:dummyuser.Password}) + assert.NoError(t, err) + // Check if it fails to create the same user again _, err = CreateUser(dummyuser) assert.Error(t, err) @@ -129,6 +136,11 @@ func TestCreateUser(t *testing.T) { assert.Error(t, err) assert.True(t, IsErrIDCannotBeZero(err)) + // Try delete the last user (Should fail) + err = DeleteUserByID(createdUser2.ID) + assert.Error(t, err) + assert.True(t, IsErrCannotDeleteLastUser(err)) + // Log some user action err = logAction("test something", User{ID: 1}, 1) assert.NoError(t, err)