Skip to content
This repository has been archived by the owner on Dec 30, 2022. It is now read-only.

Commit

Permalink
fix(MultIndex): no need to nest hits, if those are from main index. (#56
Browse files Browse the repository at this point in the history
)
  • Loading branch information
mthuret committed Apr 25, 2017
1 parent ed24926 commit 86e0bd7
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ describe('connectHierarchicalMenu', () => {
const results = {
getFacetValues: jest.fn(),
getFacetByName: () => true,
hits: [],
};

results.getFacetValues.mockImplementationOnce(() => ({}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ describe('connectMenu', () => {
const results = {
getFacetValues: jest.fn(() => []),
getFacetByName: () => true,
hits: [],
};

props = getProvidedProps({ attributeName: 'ok' }, {}, {});
Expand Down Expand Up @@ -210,6 +211,7 @@ describe('connectMenu', () => {
const results = {
getFacetValues: jest.fn(() => []),
getFacetByName: () => true,
hits: [],
};
results.getFacetValues.mockImplementation(() => [
{
Expand Down Expand Up @@ -383,6 +385,7 @@ describe('connectMenu', () => {
const results = {
getFacetValues: jest.fn(() => []),
getFacetByName: () => true,
hits: [],
};
results.getFacetValues.mockClear();
results.getFacetValues.mockImplementation(() => [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ describe('connectMultiRange', () => {
const results = {
getFacetStats: () => ({ min: 0, max: 300 }),
getFacetByName: () => true,
hits: [],
};

it('provides the correct props to the component', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,18 @@ describe('connectPagination', () => {
const cleanUp = connect.cleanUp.bind(context);

it('provides the correct props to the component', () => {
props = getProvidedProps({}, {}, { results: { nbPages: 666 } });
props = getProvidedProps({}, {}, { results: { nbPages: 666, hits: [] } });
expect(props).toEqual({
currentRefinement: 1,
nbPages: 666,
canRefine: true,
});

props = getProvidedProps({}, { page: 5 }, { results: { nbPages: 666 } });
props = getProvidedProps(
{},
{ page: 5 },
{ results: { nbPages: 666, hits: [] } }
);
expect(props).toEqual({
currentRefinement: 5,
nbPages: 666,
Expand All @@ -35,15 +39,19 @@ describe('connectPagination', () => {
props = getProvidedProps(
{},
{ page: '5' },
{ results: { nbPages: 666 } }
{ results: { nbPages: 666, hits: [] } }
);
expect(props).toEqual({
currentRefinement: 5,
nbPages: 666,
canRefine: true,
});

props = getProvidedProps({}, { page: '1' }, { results: { nbPages: 1 } });
props = getProvidedProps(
{},
{ page: '1' },
{ results: { nbPages: 1, hits: [] } }
);
expect(props).toEqual({
currentRefinement: 1,
nbPages: 1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ describe('connectRange', () => {
{ name: '2', count: 20 },
],
getFacetByName: () => true,
hits: [],
};
props = getProvidedProps({ attributeName: 'ok' }, {}, { results });
expect(props).toEqual({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ describe('connectRefinementList', () => {
const results = {
getFacetValues: jest.fn(() => []),
getFacetByName: () => true,
hits: [],
};

it('provides the correct props to the component', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe('connectStats', () => {
expect(props).toBe(null);

props = getProvidedProps(null, null, {
results: { nbHits: 666, processingTimeMS: 1 },
results: { nbHits: 666, processingTimeMS: 1, hits: [] },
});
expect(props).toEqual({ nbHits: 666, processingTimeMS: 1 });
});
Expand Down
4 changes: 2 additions & 2 deletions packages/react-instantsearch/src/core/indexUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ export function getIndex(context) {
}

export function getResults(searchResults, context) {
if (hasMultipleIndex(context)) {
return searchResults.results && searchResults.results[getIndex(context)]
if (searchResults.results && !searchResults.results.hits) {
return searchResults.results[getIndex(context)]
? searchResults.results[getIndex(context)]
: null;
} else {
Expand Down
16 changes: 12 additions & 4 deletions packages/react-instantsearch/src/core/indexUtils.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,11 @@ describe('utility method for manipulating the search state', () => {
});
});
it('get results', () => {
const searchResults = { results: { some: 'results' } };
const searchResults = { results: { hits: ['some'] } };

const results = getResults(searchResults, context);

expect(results).toEqual({ some: 'results' });
expect(results).toEqual({ hits: ['some'] });
});
});
describe('when there are multiple index', () => {
Expand Down Expand Up @@ -385,9 +385,17 @@ describe('utility method for manipulating the search state', () => {
});

it('get results', () => {
const searchResults = { results: { first: { some: 'results' } } };
let searchResults = { results: { first: { some: 'results' } } };

const results = getResults(searchResults, context);
let results = getResults(searchResults, context);

expect(results).toEqual({ some: 'results' });

searchResults = { results: { first: { some: 'results' } } };

results = getResults(searchResults, {
ais: { mainTargetedIndex: 'first' },
});

expect(results).toEqual({ some: 'results' });
});
Expand Down

0 comments on commit 86e0bd7

Please sign in to comment.