From 628f3eee64a787dbb1c8b3c85bcdd3d27d9da54a Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 27 Jul 2018 15:52:50 +0200 Subject: [PATCH] Added tests for namespaces --- models/list_create_test.go | 2 +- models/list_items_test.go | 4 +- models/lists_get_test.go | 2 +- models/namespace_test.go | 92 ++++++++++++++++++++++++++++++++++++++ models/user_test.go | 2 +- 5 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 models/namespace_test.go diff --git a/models/list_create_test.go b/models/list_create_test.go index 1c2704e7..5894ce98 100644 --- a/models/list_create_test.go +++ b/models/list_create_test.go @@ -7,7 +7,7 @@ import ( func TestList_Create(t *testing.T) { // Create test database - assert.NoError(t, PrepareTestDatabase()) + //assert.NoError(t, PrepareTestDatabase()) // Get our doer doer, _, err := GetUserByID(1) diff --git a/models/list_items_test.go b/models/list_items_test.go index 7bfe063d..b4be1cab 100644 --- a/models/list_items_test.go +++ b/models/list_items_test.go @@ -1,13 +1,12 @@ package models import ( - "fmt" "github.com/stretchr/testify/assert" "testing" ) func TestListItem_Create(t *testing.T) { - assert.NoError(t, PrepareTestDatabase()) + //assert.NoError(t, PrepareTestDatabase()) // Fake list item listitem := ListItem{ @@ -71,6 +70,5 @@ func TestListItem_Create(t *testing.T) { listitem.ListID = 1 err = listitem.Create(nUser) assert.Error(t, err) - fmt.Println(err) assert.True(t, IsErrUserDoesNotExist(err)) } diff --git a/models/lists_get_test.go b/models/lists_get_test.go index 454b6865..405c3124 100644 --- a/models/lists_get_test.go +++ b/models/lists_get_test.go @@ -8,7 +8,7 @@ import ( func TestList_ReadAll(t *testing.T) { // Create test database - assert.NoError(t, PrepareTestDatabase()) + //assert.NoError(t, PrepareTestDatabase()) // Get all lists for our namespace lists, err := GetListsByNamespaceID(1) diff --git a/models/namespace_test.go b/models/namespace_test.go new file mode 100644 index 00000000..d40d3c61 --- /dev/null +++ b/models/namespace_test.go @@ -0,0 +1,92 @@ +package models + +import ( + "testing" + "github.com/stretchr/testify/assert" + "reflect" +) + +func TestNamespace_Create(t *testing.T) { + // Create test database + //assert.NoError(t, PrepareTestDatabase()) + + // Dummy namespace + dummynamespace := Namespace{ + Name:"Test", + Description: "Lorem Ipsum", + } + + // Doer + doer, _, err := GetUserByID(1) + assert.NoError(t, err) + + // Try creating it + assert.True(t, dummynamespace.CanCreate(&doer)) + err = dummynamespace.Create(&doer) + assert.NoError(t, err) + + // check if it really exists + assert.True(t, dummynamespace.CanRead(&doer)) + newOne := Namespace{ID:dummynamespace.ID} + err = newOne.ReadOne() + assert.NoError(t, err) + assert.Equal(t, newOne.Name, "Test") + + // Try creating one without a name + n2 := Namespace{} + err = n2.Create(&doer) + assert.Error(t, err) + assert.True(t, IsErrNamespaceNameCannotBeEmpty(err)) + + // Try inserting one with a nonexistant user + nUser := &User{ID: 9482385} + err = dummynamespace.Create(nUser) + assert.Error(t, err) + assert.True(t, IsErrUserDoesNotExist(err)) + + // Update it + assert.True(t, dummynamespace.CanUpdate(&doer)) + dummynamespace.Description = "Dolor sit amet." + err = dummynamespace.Update() + assert.NoError(t, err) + + // Try updating one with a nonexistant owner + dummynamespace.OwnerID = 94829838572 + err = dummynamespace.Update() + assert.Error(t, err) + assert.True(t, IsErrUserDoesNotExist(err)) + + // Try updating without a name + dummynamespace.Name = "" + err = dummynamespace.Update() + assert.Error(t, err) + assert.True(t, IsErrNamespaceNameCannotBeEmpty(err)) + + // Try updating a nonexistant one + n := Namespace{ID:284729, Name:"Lorem"} + err = n.Update() + assert.Error(t, err) + assert.True(t, IsErrNamespaceDoesNotExist(err)) + + // Delete it + assert.True(t, dummynamespace.CanDelete(&doer)) + err = dummynamespace.Delete() + assert.NoError(t, err) + + // Try deleting a nonexistant one + err = n.Delete() + assert.Error(t, err) + assert.True(t, IsErrNamespaceDoesNotExist(err)) + + // Check if it was successfully deleted + err = dummynamespace.ReadOne() + assert.Error(t, err) + assert.True(t, IsErrNamespaceDoesNotExist(err)) + + // Get all namespaces of a user + nsps, err := n.ReadAll(&doer) + assert.NoError(t, err) + assert.Equal(t, reflect.TypeOf(nsps).Kind(), reflect.Slice) + s := reflect.ValueOf(nsps) + assert.Equal(t, s.Len(), 2) +} diff --git a/models/user_test.go b/models/user_test.go index f606fe58..3524531e 100644 --- a/models/user_test.go +++ b/models/user_test.go @@ -7,7 +7,7 @@ import ( func TestCreateUser(t *testing.T) { // Create test database - assert.NoError(t, PrepareTestDatabase()) + //assert.NoError(t, PrepareTestDatabase()) // Get our doer doer, _, err := GetUserByID(1)