feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
@@ -0,0 +1,42 @@
import { sub } from 'date-fns';
import { describe, expect, it } from 'vitest';
import { isMediaWithinDates } from '../../../src/ha/browse-media/within-dates';
import { createBrowseMedia, createRichBrowseMedia } from '../../test-utils';
describe('isMediaWithinDates', () => {
const rangeStart = new Date('2024-11-19T07:00:00');
const rangeEnd = new Date('2024-11-19T08:00:00');
it('should never match media without metadata', () => {
const media = createBrowseMedia();
expect(isMediaWithinDates(media, rangeStart, rangeEnd)).toBe(false);
});
it('should always match media without start or end date', () => {
expect(isMediaWithinDates(createRichBrowseMedia(), undefined, undefined)).toBe(true);
});
it('should match without a start date in the range', () => {
expect(isMediaWithinDates(createRichBrowseMedia(), undefined, rangeEnd)).toBe(true);
});
it('should match without an end date in the range', () => {
expect(isMediaWithinDates(createRichBrowseMedia(), rangeStart, undefined)).toBe(
true,
);
});
it('should match when ranges overlap', () => {
expect(isMediaWithinDates(createRichBrowseMedia(), rangeStart, rangeEnd)).toBe(true);
});
it('should not match when ranges do not overlap', () => {
expect(
isMediaWithinDates(
createRichBrowseMedia(),
sub(rangeStart, { days: 1 }),
sub(rangeEnd, { days: 1 }),
),
).toBe(false);
});
});