package integration_test

import (
	"testing"

	"galaxy/integration/testenv"
)

// TestAuthFlow_SendConfirm exercises registration end-to-end: the
// gateway public REST surface accepts `send-email-code`, the backend
// queues an outbox row, the mailpit container captures the SMTP
// delivery, the test extracts the verification code, then the same
// public REST surface accepts `confirm-email-code` and returns a
// device_session_id. The shared testenv.RegisterSession helper
// performs the same flow for downstream tests.
func TestAuthFlow_SendConfirm(t *testing.T) {
	plat := testenv.Bootstrap(t, testenv.BootstrapOptions{})
	sess := testenv.RegisterSession(t, plat, "pilot@example.com")
	if sess.DeviceSessionID == "" {
		t.Fatalf("device_session_id not populated")
	}
	if len(sess.Private) == 0 {
		t.Fatalf("private key not populated")
	}
}
