@nextsparkjs/theme-default 0.1.0-beta.39 → 0.1.0-beta.41

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextsparkjs/theme-default",
3
- "version": "0.1.0-beta.39",
3
+ "version": "0.1.0-beta.41",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./config/theme.config.ts",
@@ -17,8 +17,8 @@
17
17
  "react-dom": "^19.0.0",
18
18
  "react-markdown": "^10.1.0",
19
19
  "zod": "^4.0.0",
20
- "@nextsparkjs/core": "0.1.0-beta.39",
21
- "@nextsparkjs/testing": "0.1.0-beta.39"
20
+ "@nextsparkjs/core": "0.1.0-beta.41",
21
+ "@nextsparkjs/testing": "0.1.0-beta.41"
22
22
  },
23
23
  "nextspark": {
24
24
  "type": "theme",
@@ -154,6 +154,42 @@ export class TasksPOM extends DashboardEntityPOM {
154
154
  return this
155
155
  }
156
156
 
157
+ // ============================================
158
+ // FILTER METHODS
159
+ // ============================================
160
+
161
+ /**
162
+ * Filter tasks by status
163
+ */
164
+ filterByStatus(status: string) {
165
+ this.selectFilter('status', status)
166
+ return this
167
+ }
168
+
169
+ /**
170
+ * Filter tasks by priority
171
+ */
172
+ filterByPriority(priority: string) {
173
+ this.selectFilter('priority', priority)
174
+ return this
175
+ }
176
+
177
+ /**
178
+ * Clear status filter
179
+ */
180
+ clearStatusFilter() {
181
+ this.clearFilter('status')
182
+ return this
183
+ }
184
+
185
+ /**
186
+ * Clear priority filter
187
+ */
188
+ clearPriorityFilter() {
189
+ this.clearFilter('priority')
190
+ return this
191
+ }
192
+
157
193
  // ============================================
158
194
  // ENTITY-SPECIFIC ASSERTIONS
159
195
  // ============================================
@@ -171,6 +207,40 @@ export class TasksPOM extends DashboardEntityPOM {
171
207
  assertTaskNotInList(title: string) {
172
208
  return this.assertNotInList(title)
173
209
  }
210
+
211
+ /**
212
+ * Assert task has specific status in list
213
+ */
214
+ assertTaskStatus(title: string, status: string) {
215
+ cy.contains(this.selectors.rowGeneric, title)
216
+ .should('contain.text', status)
217
+ return this
218
+ }
219
+
220
+ /**
221
+ * Assert task has specific priority in list
222
+ */
223
+ assertTaskPriority(title: string, priority: string) {
224
+ cy.contains(this.selectors.rowGeneric, title)
225
+ .should('contain.text', priority)
226
+ return this
227
+ }
228
+
229
+ /**
230
+ * Assert task count in list
231
+ */
232
+ assertTaskCount(count: number) {
233
+ cy.get(this.selectors.rowGeneric).should('have.length', count)
234
+ return this
235
+ }
236
+
237
+ /**
238
+ * Assert no tasks in list
239
+ */
240
+ assertNoTasks() {
241
+ cy.get(this.selectors.rowGeneric).should('not.exist')
242
+ return this
243
+ }
174
244
  }
175
245
 
176
246
  export default TasksPOM
@@ -10,8 +10,11 @@
10
10
  import { defineConfig } from 'cypress'
11
11
  import path from 'path'
12
12
  import fs from 'fs'
13
+ import { fileURLToPath } from 'url'
13
14
 
14
- // __dirname works natively with CommonJS module resolution (tsconfig.cypress.json)
15
+ // ESM-compatible __dirname
16
+ const __filename = fileURLToPath(import.meta.url)
17
+ const __dirname = path.dirname(__filename)
15
18
 
16
19
  // Paths relative to this config file
17
20
  const themeRoot = path.resolve(__dirname, '..')