github.com/soulteary/pocket-bookcase@v0.0.0-20240428065142-0b5a9a0fc98a/internal/http/context/auth_test.go (about) 1 package context 2 3 import ( 4 "testing" 5 6 "github.com/soulteary/pocket-bookcase/internal/model" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestUserIsLogged(t *testing.T) { 11 t.Run("test user is logged", func(t *testing.T) { 12 c := New() 13 c.Set(model.ContextAccountKey, "test") 14 require.True(t, c.UserIsLogged()) 15 }) 16 17 t.Run("test user is not logged", func(t *testing.T) { 18 c := New() 19 require.False(t, c.UserIsLogged()) 20 }) 21 } 22 23 func TestGetAccount(t *testing.T) { 24 t.Run("test get account (logged in)", func(t *testing.T) { 25 account := model.Account{ 26 Username: "shiori", 27 } 28 c := New() 29 c.Set(model.ContextAccountKey, &account) 30 require.Equal(t, account, *c.GetAccount()) 31 }) 32 33 t.Run("test get account (not logged in)", func(t *testing.T) { 34 c := New() 35 require.Nil(t, c.GetAccount()) 36 }) 37 }