|
1 | 1 | import type { File, Task } from '@vitest/runner'
|
| 2 | +import type { Params } from './params' |
2 | 3 | import { client, config, findById } from './client'
|
3 | 4 | import { testRunState } from './client/state'
|
4 |
| -import { activeFileId, lineNumber, viewMode } from './params' |
| 5 | +import { activeFileId, lineNumber, selectedTest, viewMode } from './params' |
5 | 6 |
|
6 | 7 | export const currentModule = ref<File>()
|
7 | 8 | export const dashboardVisible = ref(true)
|
@@ -99,20 +100,24 @@ export function showDashboard(show: boolean) {
|
99 | 100 | }
|
100 | 101 | }
|
101 | 102 |
|
102 |
| -export function navigateTo(task: Task, line: number | null = null) { |
103 |
| - activeFileId.value = task.file.id |
104 |
| - // reset line number |
105 |
| - lineNumber.value = null |
106 |
| - if (line != null) { |
107 |
| - nextTick(() => { |
108 |
| - lineNumber.value = line |
109 |
| - }) |
110 |
| - viewMode.value = 'editor' |
111 |
| - } |
112 |
| - currentModule.value = findById(task.file.id) |
| 103 | +export function navigateTo({ file, line, view, test }: Params) { |
| 104 | + activeFileId.value = file |
| 105 | + lineNumber.value = line |
| 106 | + viewMode.value = view |
| 107 | + selectedTest.value = test |
| 108 | + currentModule.value = findById(file) |
113 | 109 | showDashboard(false)
|
114 | 110 | }
|
115 | 111 |
|
| 112 | +export function showReport(task: Task) { |
| 113 | + navigateTo({ |
| 114 | + file: task.file.id, |
| 115 | + test: task.type === 'test' ? task.id : null, |
| 116 | + line: null, |
| 117 | + view: null, |
| 118 | + }) |
| 119 | +} |
| 120 | + |
116 | 121 | export function showCoverage() {
|
117 | 122 | coverageVisible.value = true
|
118 | 123 | dashboardVisible.value = false
|
|
0 commit comments