Skip to content

Commit b58fd0c

Browse files
Updated challengeSubtracks to challengeTypes in filter
1 parent 9fec28b commit b58fd0c

File tree

4 files changed

+26
-27
lines changed

4 files changed

+26
-27
lines changed

__tests__/__snapshots__/index.js.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,9 @@ Object {
225225
"setEndDate": [Function],
226226
"setReviewOpportunityType": [Function],
227227
"setStartDate": [Function],
228-
"setSubtracks": [Function],
229228
"setTags": [Function],
230229
"setText": [Function],
230+
"setTypes": [Function],
231231
},
232232
},
233233
"errors": Object {

__tests__/utils/challenge/filter.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {
2-
setText, setTags, setSubtracks, setStartDate,
2+
setText, setTags, setTypes, setStartDate,
33
} from '../../../src/utils/challenge/filter';
44

55
describe('challenge filter', () => {
@@ -22,12 +22,12 @@ describe('challenge filter', () => {
2222
expect(res).toEqual({});
2323
});
2424

25-
test('setSubtracks', () => {
26-
res = setSubtracks({});
25+
test('setTypes', () => {
26+
res = setTypes({});
2727
expect(res).toEqual({});
28-
res = setSubtracks({}, 'subtracks');
29-
expect(res).toEqual({ subtracks: 'subtracks' });
30-
res = setSubtracks({ subtracks: 'subtracks' });
28+
res = setTypes({}, 'types');
29+
expect(res).toEqual({ types: 'types' });
30+
res = setTypes({ types: 'types' });
3131
expect(res).toEqual({});
3232
});
3333

docs/challenge.filter.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ users are participating.
7070
* [.setEndDate(state, date)](#module_challenge.filter.setEndDate) ⇒ <code>Object</code>
7171
* [.setReviewOpportunityType(state, reviewOpportunityType)](#module_challenge.filter.setReviewOpportunityType) ⇒ <code>Object</code>
7272
* [.setStartDate(state, date)](#module_challenge.filter.setStartDate) ⇒ <code>Object</code>
73-
* [.setSubtracks(state, subtracks)](#module_challenge.filter.setSubtracks) ⇒ <code>Object</code>
73+
* [.setTypes(state, types)](#module_challenge.filter.setTypes) ⇒ <code>Object</code>
7474
* [.setTags(state, tags)](#module_challenge.filter.setTags) ⇒ <code>Object</code>
7575
* [.setText(state, text)](#module_challenge.filter.setText) ⇒ <code>Object</code>
7676
* _inner_
@@ -198,17 +198,17 @@ Clones the state and sets the start date.
198198
| state | <code>Object</code> | |
199199
| date | <code>String</code> | ISO date string. |
200200

201-
<a name="module_challenge.filter.setSubtracks"></a>
201+
<a name="module_challenge.filter.setTypes"></a>
202202

203-
### challenge.filter.setSubtracks(state, subtracks) ⇒ <code>Object</code>
204-
Clones the state and sets the subtracks.
203+
### challenge.filter.setTypes(state, types) ⇒ <code>Object</code>
204+
Clones the state and sets the challenge types.
205205

206206
**Kind**: static method of [<code>challenge.filter</code>](#module_challenge.filter)
207207

208208
| Param | Type |
209209
| --- | --- |
210210
| state | <code>Object</code> |
211-
| subtracks | <code>Array</code> |
211+
| types | <code>Array</code> |
212212

213213
<a name="module_challenge.filter.setTags"></a>
214214

src/utils/challenge/filter.js

+14-15
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,9 @@ function filterByTrack(challenge, state) {
175175
return _.keys(state.tracks).some(track => challenge.communities.has(track));
176176
}
177177

178-
function filterBySubtracks(challenge, state) {
179-
if (!state.subtracks) return true;
180-
return state.subtracks.includes(challenge.typeId);
178+
function filterByTypes(challenge, state) {
179+
if (!state.types) return true;
180+
return state.types.includes(challenge.typeId);
181181
}
182182

183183
function filterByUpcoming(challenge, state) {
@@ -227,7 +227,7 @@ export function getFilterFunction(state) {
227227
&& filterByGroupIds(challenge, state)
228228
&& filterByText(challenge, state)
229229
&& filterByTags(challenge, state)
230-
&& filterBySubtracks(challenge, state)
230+
&& filterByTypes(challenge, state)
231231
&& filterByUsers(challenge, state)
232232
&& filterByEndDate(challenge, state)
233233
&& filterByStartDate(challenge, state)
@@ -250,9 +250,9 @@ export function getFilterFunction(state) {
250250
* @param {Object} state
251251
* @return {Function}
252252
*/
253-
export function getReviewOpportunitiesFilterFunction(state, validSubtracks) {
253+
export function getReviewOpportunitiesFilterFunction(state, validTypes) {
254254
return (opp) => {
255-
const newSubTrack = _.find(validSubtracks, { abbreviation: opp.challenge.subTrack }) || {};
255+
const newType = _.find(validTypes, { name: opp.challenge.type }) || {};
256256

257257
// Review Opportunity objects have a challenge field which
258258
// is largely compatible with many of the existing filter functions
@@ -262,12 +262,11 @@ export function getReviewOpportunitiesFilterFunction(state, validSubtracks) {
262262
// This allows filterByText to search for Review Types and Challenge Titles
263263
name: `${opp.challenge.title} ${REVIEW_OPPORTUNITY_TYPES[opp.type]}`,
264264
registrationStartDate: opp.startDate, // startDate of Review, not Challenge
265-
subTrack: opp.challenge.subTrack || '', // Sometimes back-end doesn't return this field
266265
submissionEndDate: opp.startDate, // Currently uses startDate for both date comparisons
267266
communities: new Set([ // Used to filter by Track, and communities at a future date
268267
opp.challenge.track.toLowerCase(),
269268
]),
270-
typeId: newSubTrack.id,
269+
typeId: newType.id,
271270
tags: opp.challenge.technologies || [],
272271
platforms: opp.challenge.platforms || [],
273272
};
@@ -276,7 +275,7 @@ export function getReviewOpportunitiesFilterFunction(state, validSubtracks) {
276275
filterByTrack(challenge, state)
277276
&& filterByText(challenge, state)
278277
&& filterByTags(challenge, state)
279-
&& filterBySubtracks(challenge, state)
278+
&& filterByTypes(challenge, state)
280279
&& filterByEndDate(challenge, state)
281280
&& filterByStartDate(challenge, state)
282281
&& filterByReviewOpportunityType(opp, state)
@@ -460,16 +459,16 @@ export function setStartDate(state, date) {
460459
}
461460

462461
/**
463-
* Clones the state and sets the subtracks.
462+
* Clones the state and sets the challenge types.
464463
* @param {Object} state
465-
* @param {Array} subtracks
464+
* @param {Array} types
466465
* @return {Object}
467466
*/
468-
export function setSubtracks(state, subtracks) {
469-
if (subtracks && subtracks.length) return { ...state, subtracks };
470-
if (!state.subtracks) return state;
467+
export function setTypes(state, types) {
468+
if (types && types.length) return { ...state, types };
469+
if (!state.types) return state;
471470
const res = _.clone(state);
472-
delete res.subtracks;
471+
delete res.types;
473472
return res;
474473
}
475474

0 commit comments

Comments
 (0)