Reset the query on grid change in a smarter way.
This commit is contained in:
@@ -72,6 +72,30 @@ describe('EventMediaQueries', () => {
|
||||
const queries = new EventMediaQueries(rawQueries);
|
||||
expect(queries.clone().getQueries()).toEqual(queries.getQueries());
|
||||
});
|
||||
|
||||
it('should get camera IDs when queries are null', () => {
|
||||
expect(new EventMediaQueries().getQueryCameraIDs()).toBeNull();
|
||||
});
|
||||
|
||||
it('should get camera IDs', () => {
|
||||
const cameraIDs = ['office', 'kitchen'];
|
||||
const queries = new EventMediaQueries(createRawEventQueries(new Set(cameraIDs)));
|
||||
expect(queries.getQueryCameraIDs()).toEqual(new Set(cameraIDs));
|
||||
});
|
||||
|
||||
it('should set camera IDs when queries are null', () => {
|
||||
expect(
|
||||
new EventMediaQueries().setQueryCameraIDs(new Set(['office'])).getQueryCameraIDs(),
|
||||
).toBeNull();
|
||||
});
|
||||
|
||||
it('should set camera IDs', () => {
|
||||
const queries = new EventMediaQueries(createRawEventQueries('sitting_room'));
|
||||
const newCameraIDs = new Set(['office', 'kitchen']);
|
||||
expect(queries.setQueryCameraIDs(newCameraIDs).getQueryCameraIDs()).toEqual(
|
||||
newCameraIDs,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('RecordingMediaQueries', () => {
|
||||
@@ -93,10 +117,4 @@ describe('RecordingMediaQueries', () => {
|
||||
const queries = new RecordingMediaQueries(rawQueries);
|
||||
expect(queries.getQueries()).toBe(rawQueries);
|
||||
});
|
||||
|
||||
it('should clone', () => {
|
||||
const rawQueries = createRawRecordingQueries('office');
|
||||
const queries = new RecordingMediaQueries(rawQueries);
|
||||
expect(queries.clone().getQueries()).toEqual(queries.getQueries());
|
||||
});
|
||||
});
|
||||
|
||||
+10
-60
@@ -427,67 +427,17 @@ describe('View.adoptFromViewIfAppropriate', () => {
|
||||
});
|
||||
|
||||
it('should determine if view supports multiple display modes', () => {
|
||||
const resultsOne = new MediaQueriesResults({
|
||||
results: generateViewMediaArray({ cameraIDs: ['office'] }),
|
||||
});
|
||||
const resultsTwo = new MediaQueriesResults({
|
||||
results: generateViewMediaArray({ cameraIDs: ['office', 'kitchen'] }),
|
||||
});
|
||||
expect(createView({ view: 'live' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'media' }).supportsMultipleDisplayModes()).toBeTruthy();
|
||||
expect(createView({ view: 'clip' }).supportsMultipleDisplayModes()).toBeTruthy();
|
||||
expect(createView({ view: 'snapshot' }).supportsMultipleDisplayModes()).toBeTruthy();
|
||||
expect(createView({ view: 'recording' }).supportsMultipleDisplayModes()).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'live' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'live' }).hasMultipleDisplayModes(0)).toBeFalsy();
|
||||
expect(createView({ view: 'live' }).hasMultipleDisplayModes(1)).toBeFalsy();
|
||||
expect(createView({ view: 'live' }).hasMultipleDisplayModes(2)).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'media' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(
|
||||
createView({ view: 'media', queryResults: resultsOne }).hasMultipleDisplayModes(),
|
||||
).toBeFalsy();
|
||||
expect(
|
||||
createView({ view: 'media', queryResults: resultsTwo }).hasMultipleDisplayModes(),
|
||||
).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'clip' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(
|
||||
createView({ view: 'clip', queryResults: resultsOne }).hasMultipleDisplayModes(),
|
||||
).toBeFalsy();
|
||||
expect(
|
||||
createView({ view: 'clip', queryResults: resultsTwo }).hasMultipleDisplayModes(),
|
||||
).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'snapshot' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(
|
||||
createView({
|
||||
view: 'snapshot',
|
||||
queryResults: resultsOne,
|
||||
}).hasMultipleDisplayModes(),
|
||||
).toBeFalsy();
|
||||
expect(
|
||||
createView({
|
||||
view: 'snapshot',
|
||||
queryResults: resultsTwo,
|
||||
}).hasMultipleDisplayModes(),
|
||||
).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'recording' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(
|
||||
createView({
|
||||
view: 'recording',
|
||||
queryResults: resultsOne,
|
||||
}).hasMultipleDisplayModes(),
|
||||
).toBeFalsy();
|
||||
expect(
|
||||
createView({
|
||||
view: 'recording',
|
||||
queryResults: resultsTwo,
|
||||
}).hasMultipleDisplayModes(),
|
||||
).toBeTruthy();
|
||||
|
||||
expect(createView({ view: 'clips' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'snapshots' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'recordings' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'image' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'timeline' }).hasMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'clips' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'snapshots' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'recordings' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'image' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
expect(createView({ view: 'timeline' }).supportsMultipleDisplayModes()).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user