diff --git a/services/api/cmd/api/e2e_test.go b/services/api/cmd/api/e2e_test.go index e6c6401..d6494b2 100644 --- a/services/api/cmd/api/e2e_test.go +++ b/services/api/cmd/api/e2e_test.go @@ -90,7 +90,7 @@ func (c *client) ok(method, path string, body, out any) { // eventually повторяет проверку до таймаута (скан, индексация поиска — фоновые). func eventually(t *testing.T, what string, fn func() bool) { t.Helper() - deadline := time.Now().Add(30 * time.Second) + deadline := time.Now().Add(60 * time.Second) for time.Now().Before(deadline) { if fn() { return @@ -157,7 +157,9 @@ func TestUserJourney(t *testing.T) { rdb := redis.NewClient(opts) defer func() { _ = rdb.Close() }() - handler, err := newApp(ctx, cfg, pool, rdb, slog.New(slog.DiscardHandler), fakeProber{}) + // Предупреждения и ошибки сервиса — в вывод теста: по ним видно, почему шаг не прошёл. + logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelWarn})) + handler, err := newApp(ctx, cfg, pool, rdb, logger, fakeProber{}) require.NoError(t, err) srv := httptest.NewServer(handler) defer srv.Close() @@ -210,6 +212,7 @@ func TestUserJourney(t *testing.T) { Tracks []track `json:"tracks"` } eventually(t, "search index", func() bool { + time.Sleep(time.Second) return c.call("GET", "/api/v1/search?q="+url.QueryEscape("кино"), nil, &found) == 200 && len(found.Albums) == 1 })