mirror of
https://github.com/teamhanko/hanko.git
synced 2025-10-26 21:57:14 +08:00
* admin api: make email primary when user has no emails * utils: move get updated user and webhook trigger to utils to reduce duplicated code * events: remove unused user and email event - Check is replaced with string variant * remove unused dtos * fix tests after changes * webhook tests: switch to test.Suite instead of TestPersister -> added deprecation annotation to test.NewPersister * Email Verification: Fix trigger of webhook when email verification is enabled and a email is created but not validated Closes: #692, #1051
66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
package webhooks
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/teamhanko/hanko/backend/config"
|
|
"github.com/teamhanko/hanko/backend/webhooks/events"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestNewConfigHook(t *testing.T) {
|
|
hook := config.Webhook{
|
|
Callback: "http://lorem.ipsum",
|
|
Events: events.Events{events.UserCreate},
|
|
}
|
|
|
|
cfgHook := NewConfigHook(hook, nil)
|
|
require.NotEmpty(t, cfgHook)
|
|
}
|
|
|
|
func TestConfigHook_DisableOnExpiryDate(t *testing.T) {
|
|
now := time.Now()
|
|
hook := config.Webhook{
|
|
Callback: "http://lorem.ipsum",
|
|
Events: events.Events{events.UserCreate},
|
|
}
|
|
|
|
dbHook := NewConfigHook(hook, nil)
|
|
err := dbHook.DisableOnExpiryDate(now)
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestConfigHook_DisableOnFailure(t *testing.T) {
|
|
hook := config.Webhook{
|
|
Callback: "http://lorem.ipsum",
|
|
Events: events.Events{events.UserCreate},
|
|
}
|
|
|
|
dbHook := NewConfigHook(hook, nil)
|
|
err := dbHook.DisableOnFailure()
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestConfigHook_Reset(t *testing.T) {
|
|
hook := config.Webhook{
|
|
Callback: "http://lorem.ipsum",
|
|
Events: events.Events{events.UserCreate},
|
|
}
|
|
|
|
dbHook := NewConfigHook(hook, nil)
|
|
err := dbHook.Reset()
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestConfigHook_IsEnabled(t *testing.T) {
|
|
hook := config.Webhook{
|
|
Callback: "http://lorem.ipsum",
|
|
Events: events.Events{events.UserCreate},
|
|
}
|
|
|
|
dbHook := NewConfigHook(hook, nil)
|
|
isEnabled := dbHook.IsEnabled()
|
|
require.True(t, isEnabled)
|
|
}
|