aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-04-15 05:52:30 +0800
committerGitHub <noreply@github.com>2020-04-15 05:52:30 +0800
commitcdafe216616abed29d4ce5bdb0f1a555cacc5edf (patch)
tree74a58d1803144c926c68e5aab430d78f9c55fda8
parent844d2f49ce25b1f1fd29832a01b8b38810a8249a (diff)
db: add tests for `loginSourceFiles` (#6102)
-rw-r--r--internal/db/login_source_files_test.go86
1 files changed, 86 insertions, 0 deletions
diff --git a/internal/db/login_source_files_test.go b/internal/db/login_source_files_test.go
new file mode 100644
index 00000000..d87239a8
--- /dev/null
+++ b/internal/db/login_source_files_test.go
@@ -0,0 +1,86 @@
+// Copyright 2020 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package db
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "gogs.io/gogs/internal/errutil"
+)
+
+func Test_loginSourceFiles_GetByID(t *testing.T) {
+ store := &loginSourceFiles{
+ sources: []*LoginSource{
+ {ID: 101},
+ },
+ }
+
+ t.Run("source does not exist", func(t *testing.T) {
+ _, err := store.GetByID(1)
+ expErr := ErrLoginSourceNotExist{args: errutil.Args{"id": int64(1)}}
+ assert.Equal(t, expErr, err)
+ })
+
+ t.Run("source exists", func(t *testing.T) {
+ source, err := store.GetByID(101)
+ if err != nil {
+ t.Fatal(err)
+ }
+ assert.Equal(t, int64(101), source.ID)
+ })
+}
+
+func Test_loginSourceFiles_Len(t *testing.T) {
+ store := &loginSourceFiles{
+ sources: []*LoginSource{
+ {ID: 101},
+ },
+ }
+
+ assert.Equal(t, 1, store.Len())
+}
+
+func Test_loginSourceFiles_List(t *testing.T) {
+ store := &loginSourceFiles{
+ sources: []*LoginSource{
+ {ID: 101, IsActived: true},
+ {ID: 102, IsActived: false},
+ },
+ }
+
+ t.Run("list all sources", func(t *testing.T) {
+ sources := store.List(ListLoginSourceOpts{})
+ assert.Equal(t, 2, len(sources), "number of sources")
+ })
+
+ t.Run("list only activated sources", func(t *testing.T) {
+ sources := store.List(ListLoginSourceOpts{OnlyActivated: true})
+ assert.Equal(t, 1, len(sources), "number of sources")
+ assert.Equal(t, int64(101), sources[0].ID)
+ })
+}
+
+func Test_loginSourceFiles_Update(t *testing.T) {
+ store := &loginSourceFiles{
+ sources: []*LoginSource{
+ {ID: 101, IsActived: true, IsDefault: true},
+ {ID: 102, IsActived: false},
+ },
+ }
+
+ source102 := &LoginSource{
+ ID: 102,
+ IsActived: true,
+ IsDefault: true,
+ }
+ store.Update(source102)
+
+ assert.False(t, store.sources[0].IsDefault)
+
+ assert.True(t, store.sources[1].IsActived)
+ assert.True(t, store.sources[1].IsDefault)
+}