Skip to content

Commit 93ee656

Browse files
committed
refactor: Create IdField class - will eventually search Task.id
1 parent 13cf047 commit 93ee656

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

src/Query/Filter/IdField.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Field } from './Field';
2+
import { FilterOrErrorMessage } from './FilterOrErrorMessage';
3+
4+
export class IdField extends Field {
5+
public createFilterOrErrorMessage(line: string): FilterOrErrorMessage {
6+
return FilterOrErrorMessage.fromError(line, 'Not yet implemented');
7+
}
8+
9+
public fieldName(): string {
10+
return 'id';
11+
}
12+
13+
protected filterRegExp(): RegExp | null {
14+
return null;
15+
}
16+
}

tests/Query/Filter/IdField.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { testFilter } from '../../TestingTools/FilterTestHelpers';
2+
import { TaskBuilder } from '../../TestingTools/TaskBuilder';
3+
import { IdField } from '../../../src/Query/Filter/IdField';
4+
5+
describe('id', () => {
6+
const idField = new IdField();
7+
8+
it('should supply field name', () => {
9+
expect(idField.fieldName()).toEqual('id');
10+
});
11+
12+
it.failing('by id presence', () => {
13+
// Arrange
14+
const filter = new IdField().createFilterOrErrorMessage('has id');
15+
16+
// Act, Assert
17+
testFilter(filter, new TaskBuilder().id(''), false);
18+
testFilter(filter, new TaskBuilder().id('abcdef'), true);
19+
});
20+
});

0 commit comments

Comments
 (0)