feat(parity): align Chatwoot 4.15.1 contracts
This commit is contained in:
@@ -28,7 +28,7 @@ func setupChatwootAuthTest(t *testing.T) (*gin.Engine, *gorm.DB, *model.User) {
|
||||
|
||||
db, err := gorm.Open(sqlite.Open("file::memory:"), &gorm.Config{Logger: logger.Default.LogMode(logger.Silent)})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, db.AutoMigrate(&model.Account{}, &model.User{}, &model.AccountUser{}, &model.AccessToken{}))
|
||||
require.NoError(t, db.AutoMigrate(&model.Account{}, &model.User{}, &model.AccountUser{}, &model.AccessToken{}, &model.UserSession{}))
|
||||
|
||||
account := &model.Account{Name: "Auth Account", Status: "active", OnboardingStep: "invite_team"}
|
||||
require.NoError(t, db.Create(account).Error)
|
||||
@@ -75,10 +75,11 @@ func TestRegisterAuthRoutesDoesNotExposeSelfRegistration(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestChatwootAuthSignInReturnsDeviseHeadersAndUserPayload(t *testing.T) {
|
||||
router, _, _ := setupChatwootAuthTest(t)
|
||||
router, db, user := setupChatwootAuthTest(t)
|
||||
body, _ := json.Marshal(map[string]string{"email": " AUTH@example.com ", "password": "password123"})
|
||||
req, _ := http.NewRequest(http.MethodPost, "/auth/sign_in", bytes.NewReader(body))
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) Chrome/126.0.0.0 Safari/537.36")
|
||||
w := httptest.NewRecorder()
|
||||
|
||||
router.ServeHTTP(w, req)
|
||||
@@ -94,6 +95,10 @@ func TestChatwootAuthSignInReturnsDeviseHeadersAndUserPayload(t *testing.T) {
|
||||
require.NoError(t, json.Unmarshal(w.Body.Bytes(), &payload))
|
||||
data := payload["data"].(map[string]any)
|
||||
assertChatwootAuthUserFixture(t, data)
|
||||
var session model.UserSession
|
||||
require.NoError(t, db.Where("user_id = ? AND client_id = ?", user.ID, w.Header().Get("client")).First(&session).Error)
|
||||
require.Equal(t, "Chrome", session.BrowserName)
|
||||
require.Equal(t, "Linux", session.PlatformName)
|
||||
}
|
||||
|
||||
func assertChatwootAuthUserFixture(t *testing.T, data map[string]any) {
|
||||
|
||||
Reference in New Issue
Block a user