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  }