-import { getAdvancedDataFromQuery, getQueryFromAdvancedData, parseQuery } from "~/store/search-bar/search-bar-actions";
+import { getAdvancedDataFromQuery, getQueryFromAdvancedData, parseSearchQuery } from "~/store/search-bar/search-bar-actions";
it('should correctly parse query #1', () => {
const q = 'val0 is:trashed val1';
it('should correctly parse query #1', () => {
const q = 'val0 is:trashed val1';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val1']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val1']);
expect(r.properties).toEqual({
it('should correctly parse query #2 (value with keyword should be ignored)', () => {
const q = 'val0 is:from:trashed val1';
it('should correctly parse query #2 (value with keyword should be ignored)', () => {
const q = 'val0 is:from:trashed val1';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val1']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val1']);
expect(r.properties).toEqual({
it('should correctly parse query #3 (many keywords)', () => {
const q = 'val0 is:trashed val2 from:2017-04-01 val1';
it('should correctly parse query #3 (many keywords)', () => {
const q = 'val0 is:trashed val2 from:2017-04-01 val1';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2', 'val1']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2', 'val1']);
expect(r.properties).toEqual({
it('should correctly parse query #4 (no duplicated values)', () => {
const q = 'val0 is:trashed val2 val2 val0';
it('should correctly parse query #4 (no duplicated values)', () => {
const q = 'val0 is:trashed val2 val2 val0';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
it('should correctly parse query #5 (properties)', () => {
const q = 'val0 has:filesize:100mb val2 val2 val0';
it('should correctly parse query #5 (properties)', () => {
const q = 'val0 has:filesize:100mb val2 val2 val0';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
it('should correctly parse query #6 (multiple properties, multiple is)', () => {
const q = 'val0 has:filesize:100mb val2 has:user:daniel is:starred val2 val0 is:trashed';
it('should correctly parse query #6 (multiple properties, multiple is)', () => {
const q = 'val0 has:filesize:100mb val2 has:user:daniel is:starred val2 val0 is:trashed';
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
expect(r.hasKeywords).toBeTruthy();
expect(r.values).toEqual(['val0', 'val2']);
expect(r.properties).toEqual({
expect(r).toEqual({
searchValue: 'document pdf',
type: ResourceKind.COLLECTION,
expect(r).toEqual({
searchValue: 'document pdf',
type: ResourceKind.COLLECTION,
const q = getQueryFromAdvancedData({
searchValue: 'document pdf',
type: ResourceKind.COLLECTION,
const q = getQueryFromAdvancedData({
searchValue: 'document pdf',
type: ResourceKind.COLLECTION,