Skip to content

Commit

Permalink
Merge 642ca01 into e19199b
Browse files Browse the repository at this point in the history
  • Loading branch information
jsbuddy committed Sep 3, 2019
2 parents e19199b + 642ca01 commit 4bdc9ad
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
13 changes: 6 additions & 7 deletions src/controllers/requestController.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ const createTrip = async (userId, {
const requestTrip = async (req, res) => {
try {
const { id: userId } = req.decoded;
const sender = await findById(userId);
if (!sender.lineManager) return response(res, 403, 'error', { message: 'You have not been assigned to a line manager' });
const {
type, originCity, destinationCity, departureDate, returnDate, reason,
accommodation, subRequest
Expand All @@ -63,13 +65,10 @@ const requestTrip = async (req, res) => {
type, originCity, destinationCity, departureDate, returnDate, reason, accommodation, subRequest
});

const sender = await findById(userId);
if (sender.lineManager) {
const receiver = await findById(sender.lineManager);
await createNotification({
sender, receiver, type: 'newRequest', ref: subRequest ? trip.requestedTrip.id : trip.id
});
}
const receiver = await findById(sender.lineManager);
await createNotification({
sender, receiver, type: 'newRequest', ref: subRequest ? trip.requestedTrip.id : trip.id
});

return response(res, 201, 'success', trip);
} catch (error) {
Expand Down
16 changes: 15 additions & 1 deletion src/test/routes/request.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ const { generateToken } = authHelper;
describe('REQUESTS', () => {
const requestTripEndpoint = `${BASE_URL}/requests`;
const searchRequestTripEndpoint = `${BASE_URL}/search/requests`;
let user, token;
let user, token, unassignedUser, unassignedUserToken;

before(async () => {
user = await User.findOne({ where: { lineManager: { [Op.ne]: null } } });
unassignedUser = await User.findOne({ where: { lineManager: { [Op.eq]: null } } });
token = `Bearer ${generateToken({ id: user.id })}`;
unassignedUserToken = `Bearer ${generateToken({ id: unassignedUser.id })}`;
});

describe('POST /requests', () => {
Expand Down Expand Up @@ -62,6 +64,18 @@ describe('REQUESTS', () => {
});
});

it('should not create a request if user has no line manager', (done) => {
chai.request(app)
.post(requestTripEndpoint)
.set('authorization', unassignedUserToken)
.send(validReturnTripRequest)
.end((err, res) => {
expect(res.status).to.equal(403);
expect(res.body).to.have.property('status').that.equals('error');
done(err);
});
});

it('should show missing key validation error', (done) => {
chai.request(app)
.post(requestTripEndpoint)
Expand Down

0 comments on commit 4bdc9ad

Please sign in to comment.