Files
pocket-id/backend/internal/environment/service_test.go
2026-08-24 15:03:31 -07:00

37 lines
1.3 KiB
Go

package environment
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/pocket-id/pocket-id/backend/internal/common"
)
func TestShowSQLiteStorageWarning(t *testing.T) {
tests := []struct {
name string
sqliteOnNetworkedFilesystem bool
dismissed bool
want bool
}{
{name: "warns when the database is on a networked filesystem", sqliteOnNetworkedFilesystem: true, want: true},
{name: "does not warn when the database is on a local filesystem", sqliteOnNetworkedFilesystem: false, want: false},
{name: "does not warn when the warning has been dismissed", sqliteOnNetworkedFilesystem: true, dismissed: true, want: false},
{name: "does not warn when dismissed and the database is on a local filesystem", sqliteOnNetworkedFilesystem: false, dismissed: true, want: false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
prevConfig := common.EnvConfig
t.Cleanup(func() {
common.EnvConfig = prevConfig
})
common.EnvConfig.DismissSQLiteStorageWarning = common.DismissSQLiteStorageWarningConfig(tt.dismissed)
svc := newService(Dependencies{SQLiteOnNetworkedFilesystem: tt.sqliteOnNetworkedFilesystem})
assert.Equal(t, tt.want, svc.ShowSQLiteStorageWarning())
})
}
}