-
Notifications
You must be signed in to change notification settings - Fork 539
/
Copy pathisHierarchicalFacetRefined.js
70 lines (61 loc) · 1.85 KB
/
isHierarchicalFacetRefined.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
'use strict';
var SearchParameters = require('../../../src/SearchParameters');
test('isHierarchicalFacetRefined returns true if value in hierarchicalFacetsRefinements', function () {
var state = new SearchParameters({
hierarchicalFacets: [
{
name: 'categories',
attributes: ['categories.lvl0', 'categories.lvl1'],
separator: ' | ',
},
],
hierarchicalFacetsRefinements: {
categories: ['beers | fancy ones'],
},
});
expect(
state.isHierarchicalFacetRefined('categories', 'beers | fancy ones')
).toBe(true);
});
test('isHierarchicalFacetRefined returns true if something is refined when not passing a value', function () {
var state = new SearchParameters({
hierarchicalFacets: [
{
name: 'categories',
attributes: ['categories.lvl0', 'categories.lvl1'],
separator: ' | ',
},
],
hierarchicalFacetsRefinements: {
categories: ['beers | fancy ones'],
},
});
expect(state.isHierarchicalFacetRefined('categories')).toBe(true);
});
test('isHierarchicalFacetRefined returns false if value not in hierarchicalFacetsRefinements', function () {
var state = new SearchParameters({
hierarchicalFacets: [
{
name: 'categories',
attributes: ['categories.lvl0', 'categories.lvl1'],
separator: ' | ',
},
],
hierarchicalFacetsRefinements: {
categories: ['beers | fancy ones'],
},
});
expect(
state.isHierarchicalFacetRefined('categories', 'beers | cheap ones')
).toBe(false);
});
test('isHierarchicalFacetRefined returns false if facet is not hierarchical', function () {
var state = new SearchParameters({
hierarchicalFacetsRefinements: {
categories: ['beers | fancy ones'],
},
});
expect(
state.isHierarchicalFacetRefined('categories', 'beers | fancy ones')
).toBe(false);
});