committtttt

This commit is contained in:
Dev
2025-09-13 06:48:55 +03:00
commit 2d49f69be6
32 changed files with 6478 additions and 0 deletions

View 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)
}