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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user