mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-15 06:35:20 -07:00
update: refactor filters test to vitest
This commit is contained in:
parent
ae62aacbd6
commit
bff6fd4494
2 changed files with 88 additions and 64 deletions
|
|
@ -1,64 +0,0 @@
|
|||
import test from 'ava'
|
||||
// import MarkdownIt from 'markdown-it'
|
||||
|
||||
// import { isValidHttpUrl } from '~/helpers/check-types.js'
|
||||
import { StorkFilters } from '~/helpers/stork/browser.js'
|
||||
|
||||
|
||||
test('Can Toggle off existing filter' , async t => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
'test': 'yes'
|
||||
}
|
||||
})
|
||||
|
||||
filters.toggleFilter('test')
|
||||
|
||||
t.deepEqual(filters.has('test'), false)
|
||||
|
||||
filters.toggleFilter('test', 'yes')
|
||||
filters.toggleFilter('status', 'native')
|
||||
|
||||
t.deepEqual(filters.has('test'), true, 'Has test filter')
|
||||
|
||||
t.deepEqual(filters.asQuery, 'test_yes status_native', 'Has correct filters for query')
|
||||
|
||||
filters.toggleFilter('status_native')
|
||||
|
||||
t.deepEqual(filters.asQuery, 'test_yes', 'Has only test filter')
|
||||
})
|
||||
|
||||
|
||||
test('Can handle query values with multiple underscores', async t => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
'test': 'value_with_multiple_underscores'
|
||||
}
|
||||
})
|
||||
|
||||
t.log( 'filters.asQuery', filters.asQuery )
|
||||
|
||||
t.assert( filters.has( 'test_value_with_multiple_underscores' ) , 'Has correct filters for query' )
|
||||
})
|
||||
|
||||
|
||||
test( 'Can update existing filter', async t => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
'test': 'works_no'
|
||||
}
|
||||
})
|
||||
|
||||
filters.toggleFilter('test_works_yes')
|
||||
|
||||
t.deepEqual( filters.asQuery, 'test_works_yes', 'Has updated filter')
|
||||
})
|
||||
|
||||
|
||||
test( 'Can set filters from string', async t => {
|
||||
const filters = new StorkFilters()
|
||||
|
||||
filters.setFromString( 'test_works_yes' )
|
||||
|
||||
t.deepEqual( filters.asQuery, 'test_works_yes', 'Has updated filter')
|
||||
})
|
||||
88
test/prebuild/filters.test.js
Normal file
88
test/prebuild/filters.test.js
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
import { describe, it, expect, beforeEach } from 'vitest'
|
||||
import { StorkFilters } from '~/helpers/stork/browser.js'
|
||||
|
||||
/**
|
||||
* Tests for StorkFilters class which handles filter management and query string
|
||||
* generation for Stork search
|
||||
*/
|
||||
describe('StorkFilters', () => {
|
||||
// let filters
|
||||
|
||||
// beforeEach(() => {
|
||||
// filters = new StorkFilters()
|
||||
// })
|
||||
|
||||
// User Story: As a user, I want to toggle filters on/off so I can refine my search
|
||||
describe('filter toggling', () => {
|
||||
it('should toggle off an existing filter', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: { test: 'yes' }
|
||||
})
|
||||
|
||||
filters.toggleFilter('test')
|
||||
expect(filters.has('test')).toBe(false)
|
||||
})
|
||||
|
||||
it('should toggle on multiple filters', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: { test: 'yes' }
|
||||
})
|
||||
|
||||
// filters.toggleFilter('test', 'yes')
|
||||
filters.toggleFilter('status', 'native')
|
||||
|
||||
expect(filters.has('test')).toBe( true )
|
||||
expect(filters.asQuery).toBe('test_yes status_native')
|
||||
})
|
||||
|
||||
it('should remove a specific filter', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
test: 'yes',
|
||||
status: 'native'
|
||||
}
|
||||
})
|
||||
|
||||
filters.toggleFilter('status_native')
|
||||
expect(filters.asQuery).toBe('test_yes')
|
||||
})
|
||||
})
|
||||
|
||||
// User Story: As a user, I want to use complex filter values to enable detailed searching
|
||||
describe('complex filter values', () => {
|
||||
it('should handle values with multiple underscores', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
test: 'value_with_multiple_underscores'
|
||||
}
|
||||
})
|
||||
|
||||
expect(filters.has('test_value_with_multiple_underscores')).toBe(true)
|
||||
})
|
||||
|
||||
it('should update existing filter value', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
test: 'works_no'
|
||||
}
|
||||
})
|
||||
|
||||
filters.toggleFilter('test_works_yes')
|
||||
expect(filters.asQuery).toBe('test_works_yes')
|
||||
})
|
||||
})
|
||||
|
||||
// User Story: As a user, I want to set filters from a query string to restore search state
|
||||
describe('filter initialization', () => {
|
||||
it('should set filters from query string', () => {
|
||||
const filters = new StorkFilters({
|
||||
initialFilters: {
|
||||
test: 'works_no'
|
||||
}
|
||||
})
|
||||
|
||||
filters.setFromString('test_works_yes')
|
||||
expect(filters.asQuery).toBe('test_works_yes')
|
||||
})
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue