Align GoChat with Chatwoot frontend contracts
This commit is contained in:
@@ -117,6 +117,34 @@ func TestCustomAttributeDefinitionHandler_List(t *testing.T) {
|
||||
assert.Len(t, resp, 2)
|
||||
}
|
||||
|
||||
func TestCustomAttributeDefinitionHandler_ListChatwootFrontendPayload(t *testing.T) {
|
||||
r, handler, db, accountID := setupCustomAttrDefHandlerTest(t)
|
||||
|
||||
seedCustomAttrDef(t, db, accountID, "plan", "Plan", "list", "contact")
|
||||
r.GET("/api/v1/accounts/:account_id/custom_attribute_definitions", handler.List)
|
||||
|
||||
w := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest("GET", fmt.Sprintf("/api/v1/accounts/%d/custom_attribute_definitions?attribute_model=contact_attribute", accountID), nil)
|
||||
r.ServeHTTP(w, req)
|
||||
|
||||
assert.Equal(t, http.StatusOK, w.Code)
|
||||
var resp []map[string]interface{}
|
||||
require.NoError(t, json.Unmarshal(w.Body.Bytes(), &resp))
|
||||
require.Len(t, resp, 1)
|
||||
item := resp[0]
|
||||
assert.Equal(t, "plan", item["attribute_key"])
|
||||
assert.Equal(t, "Plan", item["attribute_display_name"])
|
||||
assert.Equal(t, "list", item["attribute_display_type"])
|
||||
assert.Equal(t, "contact_attribute", item["attribute_model"])
|
||||
assert.Contains(t, item, "attribute_description")
|
||||
assert.Contains(t, item, "attribute_values")
|
||||
assert.Contains(t, item, "default_value")
|
||||
assert.Contains(t, item, "regex_pattern")
|
||||
assert.Contains(t, item, "regex_cue")
|
||||
assert.Contains(t, item, "created_at")
|
||||
assert.Contains(t, item, "updated_at")
|
||||
}
|
||||
|
||||
func TestCustomAttributeDefinitionHandler_List_FilterByModel(t *testing.T) {
|
||||
r, handler, db, accountID := setupCustomAttrDefHandlerTest(t)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user