fix(api): tests live count
This commit is contained in:
parent
d2eda3a54e
commit
3d10d0836f
1 changed files with 11 additions and 1 deletions
|
|
@ -116,6 +116,16 @@ def get_ut_test(project_id: int, test_id: int):
|
|||
WHERE utt.test_id = %(test_id)s
|
||||
"""
|
||||
|
||||
live_count_sql = """
|
||||
SELECT COUNT(*) FROM (
|
||||
SELECT DISTINCT ON (uts.session_id) uts.test_id
|
||||
FROM ut_tests_signals uts
|
||||
WHERE uts.duration IS NULL AND uts.task_id IS NULL
|
||||
ORDER BY uts.session_id, uts.timestamp DESC
|
||||
) AS latest_signals
|
||||
WHERE latest_signals.test_id = ut.test_id
|
||||
"""
|
||||
|
||||
select_columns = [
|
||||
"ut.test_id",
|
||||
"ut.title",
|
||||
|
|
@ -131,7 +141,7 @@ def get_ut_test(project_id: int, test_id: int):
|
|||
"ut.visibility",
|
||||
"json_build_object('id', u.user_id, 'name', u.name) AS created_by",
|
||||
"COALESCE((SELECT COUNT(*) FROM ut_tests_signals uts WHERE uts.test_id = ut.test_id AND uts.task_id IS NOT NULL AND uts.status in %(response_statuses)s AND uts.comment is NOT NULL), 0) AS responses_count",
|
||||
"COALESCE((SELECT COUNT(*) FROM ut_tests_signals uts WHERE uts.test_id = ut.test_id AND uts.duration IS NULL AND uts.task_id IS NULL), 0) AS live_count",
|
||||
f"({live_count_sql}) AS live_count",
|
||||
]
|
||||
db_handler.add_param("response_statuses", ('done', 'skipped'))
|
||||
db_handler.set_select_columns(select_columns + [f"({tasks_sql}) AS tasks"])
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue