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

Commit

Permalink
refactor(store): remove searchParameters getter and setter
Browse files Browse the repository at this point in the history
BREAKING CHANGE:

if you previously used the `store.searchParameters` getters and setters of the store,
you should now use `store.queryParameters` instead.
  • Loading branch information
rayrutjes committed Aug 9, 2017
1 parent 0472627 commit c146b16
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 24 deletions.
30 changes: 15 additions & 15 deletions src/__tests__/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,27 +281,27 @@ describe('Store', () => {
);
});

test('should accept new search parameters', () => {
test('should accept new query parameters', () => {
const store = createStore();

const newSearchParameters = { distinct: true };
const newQueryParameters = { distinct: true };

store.searchParameters = newSearchParameters;
store.queryParameters = newQueryParameters;

expect(store.searchParameters).toEqual(
expect.objectContaining(newSearchParameters)
expect(store.queryParameters).toEqual(
expect.objectContaining(newQueryParameters)
);
});

test('highlighting tags set via query parameters should not leak to the helper', () => {
const store = createStore();

const newSearchParameters = {
const newQueryParameters = {
highlightPreTag: '<mark>',
highlightPostTag: '</mark>',
};

store.searchParameters = newSearchParameters;
store.queryParameters = newQueryParameters;

expect(store._helper.state).toEqual(
expect.objectContaining({
Expand All @@ -316,35 +316,35 @@ describe('Store', () => {
store.highlightPreTag = '<mark>';
store.highlightPostTag = '</mark>';

expect(store.searchParameters).toEqual(
expect(store.queryParameters).toEqual(
expect.objectContaining({
highlightPreTag: '<mark>',
highlightPostTag: '</mark>',
})
);
});

test('page search parameter should start at 1', () => {
test('page query parameter should start at 1', () => {
const store = createStore();

expect(store.searchParameters).toHaveProperty('page', 1);
expect(store.queryParameters).toHaveProperty('page', 1);

store._helper.setPage(2);
expect(store.searchParameters).toHaveProperty('page', 3);
expect(store.queryParameters).toHaveProperty('page', 3);

const newSearchParameters = Object.assign({}, store.searchParameters, {
const newQueryParameters = Object.assign({}, store.queryParameters, {
page: 5,
});

store.searchParameters = newSearchParameters;
store.queryParameters = newQueryParameters;

expect(store._helper.getPage()).toEqual(4);
});

test('search parameters should not contain internal highlighting tags', () => {
test('query parameters should not contain internal highlighting tags', () => {
const store = createStore();

expect(store.searchParameters).toEqual(
expect(store.queryParameters).toEqual(
expect.objectContaining({
highlightPreTag: undefined,
highlightPostTag: undefined,
Expand Down
10 changes: 1 addition & 9 deletions src/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -324,23 +324,15 @@ export class Store {
return this._helper.state.query;
}

set queryParameters(parameters) {
this.searchParameters = parameters;
}

get queryParameters() {
return this.searchParameters;
}

get searchParameters() {
return Object.assign({}, this._helper.state, {
page: this.page,
highlightPreTag: this.highlightPreTag,
highlightPostTag: this.highlightPostTag,
});
}

set searchParameters(searchParameters) {
set queryParameters(searchParameters) {
const params = Object.assign({}, searchParameters);
const paramKeys = Object.keys(params);
paramKeys.forEach(key => {
Expand Down

0 comments on commit c146b16

Please sign in to comment.