On branch main

modified:   main_dc/yalarba/api_yal/cmd/testrunner/main.go
	modified:   main_dc/yalarba/api_yal/cmd/testrunner/runner.go
	modified:   main_dc/yalarba/api_yal/tests/integration/account_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/appeal_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/auth_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/comment_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/feedback_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/object_test.go
	modified:   main_dc/yalarba/api_yal/tests/integration/rating_test.go
	deleted:    main_dc/yalarba/api_yal/tests/testutils/client.go
	modified:   main_dc/yalarba/api_yal/tests/testutils/fixtures.go
	modified:   main_dc/yalarba/api_yal/tests/testutils/setup.go
write comments for and into test's functions
This commit is contained in:
2026-06-08 01:58:04 +05:00
parent b4574f9df1
commit d1e45c7686
12 changed files with 346 additions and 118 deletions
@@ -5,9 +5,12 @@ import (
"api_yal/tests/testutils"
)
// TestRatingEndpoints тестирует все эндпоинты для работы с рейтингами и голосованием
// Включает создание рейтинга, голосование, изменение голоса и получение статистики
func TestRatingEndpoints(t *testing.T) {
config := testutils.NewTestConfig()
// CreateRating тестирует создание нового рейтинга для объекта
t.Run("CreateRating", func(t *testing.T) {
user := config.CreateTestUser(t)
defer config.CleanupTestUser(t, user)
@@ -30,6 +33,7 @@ func TestRatingEndpoints(t *testing.T) {
}
})
// CastVote тестирует голосование в рейтинге
t.Run("CastVote", func(t *testing.T) {
user := config.CreateTestUser(t)
defer config.CleanupTestUser(t, user)
@@ -54,7 +58,7 @@ func TestRatingEndpoints(t *testing.T) {
ratingID := createdRating["id"].(float64)
// Голосуем
// Голосуем с оценкой 5
voteData := map[string]interface{}{
"score": 5,
}
@@ -70,6 +74,7 @@ func TestRatingEndpoints(t *testing.T) {
}
})
// GetMyVote тестирует получение голоса текущего пользователя
t.Run("GetMyVote", func(t *testing.T) {
user := config.CreateTestUser(t)
defer config.CleanupTestUser(t, user)
@@ -118,11 +123,13 @@ func TestRatingEndpoints(t *testing.T) {
t.Fatalf("Failed to parse response: %v", err)
}
// Проверяем, что пользователь уже голосовал
if hasVoted, ok := voteInfo["has_voted"].(bool); !ok || !hasVoted {
t.Error("has_voted should be true")
}
})
// UpdateMyVote тестирует обновление голоса пользователя
t.Run("UpdateMyVote", func(t *testing.T) {
user := config.CreateTestUser(t)
defer config.CleanupTestUser(t, user)
@@ -155,7 +162,7 @@ func TestRatingEndpoints(t *testing.T) {
t.Fatalf("Failed to cast vote: %v", err)
}
// Обновляем голос
// Обновляем голос с оценки 5 на 4
updateData := map[string]interface{}{
"score": 4,
}
@@ -170,6 +177,7 @@ func TestRatingEndpoints(t *testing.T) {
}
})
// GetRatingStats тестирует получение статистики по рейтингам
t.Run("GetRatingStats", func(t *testing.T) {
resp, err := config.Request("GET", "/ratings/stats", nil, "")
if err != nil {
@@ -186,6 +194,7 @@ func TestRatingEndpoints(t *testing.T) {
t.Fatalf("Failed to parse response: %v", err)
}
// Проверяем наличие полей статистики
expectedFields := []string{"total_ratings", "total_votes", "platform_distribution"}
for _, field := range expectedFields {
if _, ok := stats[field]; !ok {
@@ -194,6 +203,7 @@ func TestRatingEndpoints(t *testing.T) {
}
})
// DeleteMyVote тестирует удаление голоса пользователя
t.Run("DeleteMyVote", func(t *testing.T) {
user := config.CreateTestUser(t)
defer config.CleanupTestUser(t, user)
@@ -233,6 +243,7 @@ func TestRatingEndpoints(t *testing.T) {
}
defer deleteResp.Body.Close()
// Ожидаем статус 204 No Content при успешном удалении
if deleteResp.StatusCode != 204 {
t.Errorf("Expected status 204, got %d", deleteResp.StatusCode)
}