committtttt
This commit is contained in:
143
backend/internal/models/models_test.go
Normal file
143
backend/internal/models/models_test.go
Normal file
@@ -0,0 +1,143 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestUserModel(t *testing.T) {
|
||||
// Test user model fields
|
||||
user := User{
|
||||
ID: 1,
|
||||
Username: "testuser",
|
||||
Email: "test@example.com",
|
||||
Password: "hashedpassword",
|
||||
FirstName: "Test",
|
||||
LastName: "User",
|
||||
Role: "user",
|
||||
Active: true,
|
||||
}
|
||||
|
||||
// Verify user fields
|
||||
assert.Equal(t, uint(1), user.ID)
|
||||
assert.Equal(t, "testuser", user.Username)
|
||||
assert.Equal(t, "test@example.com", user.Email)
|
||||
assert.Equal(t, "hashedpassword", user.Password)
|
||||
assert.Equal(t, "Test", user.FirstName)
|
||||
assert.Equal(t, "User", user.LastName)
|
||||
assert.Equal(t, "user", user.Role)
|
||||
assert.True(t, user.Active)
|
||||
}
|
||||
|
||||
func TestConversationModel(t *testing.T) {
|
||||
// Test conversation model fields
|
||||
conversation := Conversation{
|
||||
ID: 1,
|
||||
UserID: 1,
|
||||
Title: "Test Conversation",
|
||||
Status: "active",
|
||||
Department: "support",
|
||||
Priority: "medium",
|
||||
Tags: "test,sample",
|
||||
}
|
||||
|
||||
// Verify conversation fields
|
||||
assert.Equal(t, uint(1), conversation.ID)
|
||||
assert.Equal(t, uint(1), conversation.UserID)
|
||||
assert.Equal(t, "Test Conversation", conversation.Title)
|
||||
assert.Equal(t, "active", conversation.Status)
|
||||
assert.Equal(t, "support", conversation.Department)
|
||||
assert.Equal(t, "medium", conversation.Priority)
|
||||
assert.Equal(t, "test,sample", conversation.Tags)
|
||||
}
|
||||
|
||||
func TestMessageModel(t *testing.T) {
|
||||
// Test message model fields
|
||||
message := Message{
|
||||
ID: 1,
|
||||
ConversationID: 1,
|
||||
UserID: 1,
|
||||
Content: "Test message content",
|
||||
Type: "text",
|
||||
Status: "sent",
|
||||
Sentiment: 0.5,
|
||||
IsAI: false,
|
||||
AIModel: "",
|
||||
}
|
||||
|
||||
// Verify message fields
|
||||
assert.Equal(t, uint(1), message.ID)
|
||||
assert.Equal(t, uint(1), message.ConversationID)
|
||||
assert.Equal(t, uint(1), message.UserID)
|
||||
assert.Equal(t, "Test message content", message.Content)
|
||||
assert.Equal(t, "text", message.Type)
|
||||
assert.Equal(t, "sent", message.Status)
|
||||
assert.Equal(t, 0.5, message.Sentiment)
|
||||
assert.False(t, message.IsAI)
|
||||
assert.Equal(t, "", message.AIModel)
|
||||
}
|
||||
|
||||
func TestKnowledgeModel(t *testing.T) {
|
||||
// Test knowledge model fields
|
||||
knowledge := KnowledgeBase{
|
||||
ID: 1,
|
||||
Question: "Test Question",
|
||||
Answer: "Test knowledge content",
|
||||
Category: "general",
|
||||
Tags: "test,sample",
|
||||
Priority: 1,
|
||||
ViewCount: 10,
|
||||
Helpful: 5,
|
||||
NotHelpful: 2,
|
||||
Active: true,
|
||||
CreatedBy: 1,
|
||||
UpdatedBy: 1,
|
||||
}
|
||||
|
||||
// Verify knowledge fields
|
||||
assert.Equal(t, uint(1), knowledge.ID)
|
||||
assert.Equal(t, "Test Question", knowledge.Question)
|
||||
assert.Equal(t, "Test knowledge content", knowledge.Answer)
|
||||
assert.Equal(t, "general", knowledge.Category)
|
||||
assert.Equal(t, "test,sample", knowledge.Tags)
|
||||
assert.Equal(t, 1, knowledge.Priority)
|
||||
assert.Equal(t, 10, knowledge.ViewCount)
|
||||
assert.Equal(t, 5, knowledge.Helpful)
|
||||
assert.Equal(t, 2, knowledge.NotHelpful)
|
||||
assert.True(t, knowledge.Active)
|
||||
assert.Equal(t, uint(1), knowledge.CreatedBy)
|
||||
assert.Equal(t, uint(1), knowledge.UpdatedBy)
|
||||
}
|
||||
|
||||
func TestAIModel(t *testing.T) {
|
||||
// Test AI model fields
|
||||
aiModel := AIModel{
|
||||
ID: 1,
|
||||
Name: "Test AI Model",
|
||||
Type: "openai",
|
||||
Endpoint: "https://api.openai.com/v1/chat/completions",
|
||||
APIKey: "test-api-key",
|
||||
Model: "gpt-4",
|
||||
MaxTokens: 4000,
|
||||
Temperature: 0.7,
|
||||
TopP: 1.0,
|
||||
Active: true,
|
||||
Priority: 1,
|
||||
Description: "Test AI model description",
|
||||
}
|
||||
|
||||
// Verify AI model fields
|
||||
assert.Equal(t, uint(1), aiModel.ID)
|
||||
assert.Equal(t, "Test AI Model", aiModel.Name)
|
||||
assert.Equal(t, "openai", aiModel.Type)
|
||||
assert.Equal(t, "https://api.openai.com/v1/chat/completions", aiModel.Endpoint)
|
||||
assert.Equal(t, "test-api-key", aiModel.APIKey)
|
||||
assert.Equal(t, "gpt-4", aiModel.Model)
|
||||
assert.Equal(t, 4000, aiModel.MaxTokens)
|
||||
assert.Equal(t, 0.7, aiModel.Temperature)
|
||||
assert.Equal(t, 1.0, aiModel.TopP)
|
||||
assert.True(t, aiModel.Active)
|
||||
assert.Equal(t, 1, aiModel.Priority)
|
||||
assert.Equal(t, "Test AI model description", aiModel.Description)
|
||||
}
|
Reference in New Issue
Block a user