plum-e2e 2.5.6 → 2.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,7 +123,9 @@
123
123
  runnerConfig.update((c) => {
124
124
  if (!v && c.selectedRunners.includes(BUILTIN_RUNNER_ID)) {
125
125
  const others = c.selectedRunners.filter((r) => r !== BUILTIN_RUNNER_ID);
126
- return { ...c, selectedRunners: others.length > 0 ? others : c.selectedRunners };
126
+ const fallback =
127
+ others.length > 0 ? others : availableRunners[0] ? [availableRunners[0].id] : [];
128
+ return { ...c, selectedRunners: fallback };
127
129
  }
128
130
  return c;
129
131
  });
@@ -601,7 +603,7 @@
601
603
  </button>
602
604
  {#if runnersOpen}
603
605
  <div class="dropdown-menu runners-menu" transition:fly={{ y: 6, duration: 130 }}>
604
- {#if $builtInEnabled}
606
+ {#if $builtInEnabled || isRunnerSelected(BUILTIN_RUNNER_ID)}
605
607
  <label class="runner-option">
606
608
  <input
607
609
  type="checkbox"
@@ -73,13 +73,24 @@ export function keywordClass(kw) {
73
73
  return 'kw-and';
74
74
  }
75
75
 
76
+ // Matches both verbose tags (@test-login-1, @suite-login) and the TC-/TS-
77
+ // displayId convention (@TC-001, @TS-001) used by default throughout the rest
78
+ // of the app (test case/suite prefixes, configurable in Settings).
79
+ function isSuiteTag(tag) {
80
+ return /suite/i.test(tag) || /^@ts-?\d+/i.test(tag);
81
+ }
82
+
83
+ function isTestCaseTag(tag) {
84
+ return /^@test[\w-]*/i.test(tag) || /^@tc-?\d+/i.test(tag);
85
+ }
86
+
76
87
  export function scenarioTestTag(scenario) {
77
- return scenario.tags?.find((tag) => /^@test[\w-]*/i.test(tag)) ?? null;
88
+ return scenario.tags?.find(isTestCaseTag) ?? null;
78
89
  }
79
90
 
80
91
  export function featureSuiteTag(feature) {
81
92
  for (const scenario of feature.scenarios ?? []) {
82
- const suiteTag = scenario.tags?.find((tag) => /suite/i.test(tag));
93
+ const suiteTag = scenario.tags?.find(isSuiteTag);
83
94
  if (suiteTag) return suiteTag;
84
95
  }
85
96
  return null;
@@ -88,7 +99,7 @@ export function featureSuiteTag(feature) {
88
99
  export function visibleTags(scenario) {
89
100
  const testTag = scenarioTestTag(scenario);
90
101
  if (testTag) return [testTag];
91
- return (scenario.tags ?? []).filter((tag) => !/suite/i.test(tag));
102
+ return (scenario.tags ?? []).filter((tag) => !isSuiteTag(tag));
92
103
  }
93
104
 
94
105
  const STATUS_RANK = { failed: 3, pending: 2, skipped: 1, passed: 0 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plum-e2e",
3
- "version": "2.5.6",
3
+ "version": "2.5.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/silverlunah/plum.git"