Skip to content

Commit

Permalink
Merge pull request #18 from HDRUK/RDT3-236
Browse files Browse the repository at this point in the history
Rdt3 236
  • Loading branch information
tonyespley-pa authored May 22, 2020
2 parents 5f51058 + 0bf1138 commit afea3a8
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 30 deletions.
24 changes: 12 additions & 12 deletions src/resources/search/search.router.js
Original file line number Diff line number Diff line change
Expand Up @@ -381,18 +381,18 @@ function getFilterOptions(values) {
})

return {
licenseFilterOptions: licenseFilterOptions.sort(),
sampleFilterOptions: sampleFilterOptions.sort(),
keywordsFilterOptions: keywordsFilterOptions.sort(),
publisherFilterOptions: publisherFilterOptions.sort(),
ageBandFilterOptions: ageBandFilterOptions.sort(),
geographicCoverageFilterOptions: geographicCoverageFilterOptions.sort(),
toolCategoriesFilterOptions: toolCategoriesFilterOptions.sort(),
programmingLanguageFilterOptions: programmingLanguageFilterOptions.sort(),
featuresFilterOptions: featuresFilterOptions.sort(),
toolTopicsFilterOptions: toolTopicsFilterOptions.sort(),
projectCategoriesFilterOptions: projectCategoriesFilterOptions.sort(),
projectTopicsFilterOptions: projectTopicsFilterOptions.sort()
licenseFilterOptions: licenseFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
sampleFilterOptions: sampleFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
keywordsFilterOptions: keywordsFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
publisherFilterOptions: publisherFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
ageBandFilterOptions: ageBandFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
geographicCoverageFilterOptions: geographicCoverageFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
toolCategoriesFilterOptions: toolCategoriesFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
programmingLanguageFilterOptions: programmingLanguageFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
featuresFilterOptions: featuresFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
toolTopicsFilterOptions: toolTopicsFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
projectCategoriesFilterOptions: projectCategoriesFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; }),
projectTopicsFilterOptions: projectTopicsFilterOptions.sort(function (a, b) { return (a.toUpperCase() < b.toUpperCase()) ? -1 : (a.toUpperCase() > b.toUpperCase()) ? 1 : 0; })
};
}

Expand Down
36 changes: 18 additions & 18 deletions test/routes.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,32 @@ describe("Search API", () => {
let payload = JSON.parse(response.text);

expect(payload).toHaveProperty('success');
expect(payload).toHaveProperty('data');
expect(payload['data'].length).toBeGreaterThanOrEqual(1);
expect(payload).toHaveProperty('datasetResults');
expect(payload['datasetResults'].length).toBeGreaterThanOrEqual(1);
expect(payload).toHaveProperty('summary');

});

['homebrew','cancer', 'disparity'].forEach(function(searchString) {
['blood','cancer', 'epilepsy'].forEach(function(searchString) {

test(`Search for string '${searchString}', first result should contain name or description '${searchString}'`, async () => {
const response = await testURL.get('/api/v1/search?search='+searchString);
expect(response.statusCode).toBe(200);
let payload = JSON.parse(response.text);

expect(payload).toHaveProperty('success');
expect(payload).toHaveProperty('data');
expect(payload['data'].length).toBeGreaterThanOrEqual(1);
expect(payload).toHaveProperty('toolResults');
expect(payload['toolResults'].length).toBeGreaterThanOrEqual(1);
expect(payload).toHaveProperty('summary');


expect(payload['data'][0]).toHaveProperty('name');
expect(payload['data'][0]).toHaveProperty('description');
expect(payload['data'][0]).toHaveProperty('tags');
expect(payload['toolResults'][0]).toHaveProperty('name');
expect(payload['toolResults'][0]).toHaveProperty('description');
expect(payload['toolResults'][0]).toHaveProperty('tags');

let name = payload['data'][0]['name'].toLowerCase() || '';
let description = payload['data'][0]['description'].toLowerCase() || '';
let tags = payload['data'][0]['tags'].join().toLowerCase() || '';
let name = payload['toolResults'][0]['name'].toLowerCase() || '';
let description = payload['toolResults'][0]['description'].toLowerCase() || '';
let tags = payload['toolResults'][0]['tags']['topics'].join().toLowerCase() || '';
let string = searchString.toLowerCase();

expect( name.includes(string) || description.includes(string) || tags.includes(string)).toBeTruthy();
Expand All @@ -62,26 +62,26 @@ describe("Search API", () => {
let payload = JSON.parse(response.text);

expect(payload).toHaveProperty('success');
expect(payload).toHaveProperty('data');
expect(payload['data'].length).toBe(0);
expect(payload).toHaveProperty('toolResults');
expect(payload['toolResults'].length).toBe(0);
expect(payload).toHaveProperty('summary');

});

});


test("Search for string 'cancer' limit results to 3, 3 or less results should be returned", async () => {
test("Search for string 'cancer' limit results to 40, 40 or less results should be returned", async () => {
let searchString = "cancer";
let maxResults = 3;
let maxResults = 40;

const response = await testURL.get('/api/v1/search?search='+searchString+'&maxResults='+maxResults);
const response = await testURL.get('/api/v1/search?search='+searchString);
expect(response.statusCode).toBe(200);
let payload = JSON.parse(response.text);

expect(payload).toHaveProperty('success');
expect(payload).toHaveProperty('data');
expect(payload['data'].length).toBeLessThanOrEqual(maxResults);
expect(payload).toHaveProperty('datasetResults');
expect(payload['datasetResults'].length).toBeLessThanOrEqual(maxResults);
expect(payload).toHaveProperty('summary');
});

Expand Down

0 comments on commit afea3a8

Please sign in to comment.