Skip to content

Commit f2e26f1

Browse files
authored
fix empty search term case (#1369)
1 parent 799d9e8 commit f2e26f1

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

controllers/tasks.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ const fetchTasks = async (req, res) => {
142142

143143
if (queryString !== undefined) {
144144
const searchParams = parseSearchQuery(queryString);
145+
if (!searchParams.searchTerm) {
146+
return res.status(404).json({
147+
message: "No tasks found.",
148+
tasks: [],
149+
});
150+
}
145151
const filterTasks = await tasks.fetchTasks(searchParams.searchTerm);
146152
const tasksWithRdsAssigneeInfo = await fetchTasksWithRdsAssigneeInfo(filterTasks);
147153
if (tasksWithRdsAssigneeInfo.length === 0) {

test/integration/tasks.test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,23 @@ describe("Tasks", function () {
293293
return done(err);
294294
}
295295

296+
expect(res).to.have.status(404);
297+
expect(res.body).to.be.a("object");
298+
expect(res.body.message).to.equal("No tasks found.");
299+
expect(res.body.tasks).to.be.a("array");
300+
expect(res.body.tasks).to.have.lengthOf(0);
301+
return done();
302+
});
303+
});
304+
it("Should return no task found when there is no searchterm", function (done) {
305+
chai
306+
.request(app)
307+
.get(`/tasks?q=searchTerm:`)
308+
.end((err, res) => {
309+
if (err) {
310+
return done(err);
311+
}
312+
296313
expect(res).to.have.status(404);
297314
expect(res.body).to.be.a("object");
298315
expect(res.body.message).to.equal("No tasks found.");

0 commit comments

Comments
 (0)