Skip to content

Commit b5db5a3

Browse files
committed
ch(coverage): testing
Backend coverage enhancement Additional tests for backend
1 parent 96e1ef6 commit b5db5a3

File tree

7 files changed

+894
-125
lines changed

7 files changed

+894
-125
lines changed

src/helpers/sendEventEmails.ts

Lines changed: 87 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,96 @@
1-
import jwt from "jsonwebtoken"
2-
import { sendEmail } from "../utils/sendEmail"
3-
import { eventCancellationTemplate, eventInvitationTemplate, invitationCancellationTemplate } from "../utils/templates/eventInvitationTemplates";
1+
import jwt from 'jsonwebtoken'
2+
import { sendEmail } from '../utils/sendEmail'
3+
import {
4+
eventCancellationTemplate,
5+
eventInvitationTemplate,
6+
invitationCancellationTemplate,
7+
} from '../utils/templates/eventInvitationTemplates'
48

59
export async function sendEventInvitations(
6-
email: string,
7-
eventId: string,
8-
eventTitle: string,
9-
hostName: string,
10-
eventStart: string,
11-
eventEnd: string,
12-
eventTimeToStart: string,
13-
eventTimeToEnd: string,
14-
){
15-
try{
16-
const secret = process.env.SECRET!
17-
const acceptedEventToken = jwt.sign({
18-
email,
19-
eventId,
20-
response: "accepted",
21-
},secret)
22-
const declinedEventToken = jwt.sign({
23-
email,
24-
eventId,
25-
response: "declined",
26-
},secret)
27-
const content: string = eventInvitationTemplate(eventTitle,hostName,eventStart,eventEnd,eventTimeToStart,eventTimeToEnd, acceptedEventToken, declinedEventToken)
28-
await sendEmail(
29-
email,
30-
'Event Invitation',
31-
content,
32-
null,
33-
process.env.ADMIN_EMAIL,
34-
process.env.ADMIN_PASS,
35-
)
36-
}catch(err){
37-
return err
38-
}
10+
email: string,
11+
eventId: string,
12+
eventTitle: string,
13+
hostName: string,
14+
eventStart: string,
15+
eventEnd: string,
16+
eventTimeToStart: string,
17+
eventTimeToEnd: string
18+
) {
19+
try {
20+
const secret = process.env.SECRET!
21+
const acceptedEventToken = jwt.sign(
22+
{
23+
email,
24+
eventId,
25+
response: 'accepted',
26+
},
27+
secret
28+
)
29+
const declinedEventToken = jwt.sign(
30+
{
31+
email,
32+
eventId,
33+
response: 'declined',
34+
},
35+
secret
36+
)
37+
const content: string = eventInvitationTemplate(
38+
eventTitle,
39+
hostName,
40+
eventStart,
41+
eventEnd,
42+
eventTimeToStart,
43+
eventTimeToEnd,
44+
acceptedEventToken,
45+
declinedEventToken
46+
)
47+
await sendEmail(
48+
email,
49+
'Event Invitation',
50+
content,
51+
null,
52+
process.env.ADMIN_EMAIL,
53+
process.env.ADMIN_PASS
54+
)
55+
} catch (err) {
56+
return err
57+
}
3958
}
4059

4160
export async function sendEventCancellations(
42-
email: string,
43-
eventTitle: string,
44-
){
45-
try{
46-
const content: string = eventCancellationTemplate(eventTitle)
47-
await sendEmail(
48-
email,
49-
'Event Cancelled',
50-
content,
51-
null,
52-
process.env.ADMIN_EMAIL,
53-
process.env.ADMIN_PASS,
54-
)
55-
}catch(err){
56-
return err
57-
}
61+
email: string,
62+
eventTitle: string
63+
) {
64+
try {
65+
const content: string = eventCancellationTemplate(eventTitle)
66+
await sendEmail(
67+
email,
68+
'Event Cancelled',
69+
content,
70+
null,
71+
process.env.ADMIN_EMAIL,
72+
process.env.ADMIN_PASS
73+
)
74+
} catch (err) {
75+
return err
76+
}
5877
}
5978

6079
export async function sendInvitationCancellations(
61-
email: string,
62-
eventTitle: string,
63-
){
64-
try{
65-
const content: string = invitationCancellationTemplate(eventTitle)
66-
await sendEmail(
67-
email,
68-
'Invitation Cancelled',
69-
content,
70-
null,
71-
process.env.ADMIN_EMAIL,
72-
process.env.ADMIN_PASS,
73-
)
74-
}catch(err){
75-
return err
76-
}
80+
email: string,
81+
eventTitle: string
82+
) {
83+
try {
84+
const content: string = invitationCancellationTemplate(eventTitle)
85+
await sendEmail(
86+
email,
87+
'Invitation Cancelled',
88+
content,
89+
null,
90+
process.env.ADMIN_EMAIL,
91+
process.env.ADMIN_PASS
92+
)
93+
} catch (err) {
94+
return err
95+
}
7796
}

src/resolvers/invitation.resolvers.ts

Lines changed: 60 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ const invitationResolvers: IResolvers = {
3333
invitees,
3434
orgToken,
3535
orgName,
36-
}: { invitees: { email: string; role: string }[]; orgName: string; orgToken: string },
36+
}: {
37+
invitees: { email: string; role: string }[]
38+
orgName: string
39+
orgToken: string
40+
},
3741
context
3842
) => {
3943
try {
@@ -166,7 +170,11 @@ const invitationResolvers: IResolvers = {
166170

167171
async uploadInvitationFile(
168172
_: any,
169-
{ file,orgName, orgToken }: { file: any;orgName: string, orgToken: string },
173+
{
174+
file,
175+
orgName,
176+
orgToken,
177+
}: { file: any; orgName: string; orgToken: string },
170178
context: any
171179
) {
172180
const { userId } = (await checkUserLoggedIn(context))(['admin'])
@@ -365,64 +373,71 @@ const invitationResolvers: IResolvers = {
365373
return { message: 'Invitation deleted successfully ' }
366374
},
367375

368-
resendInvitation:async(_:any,{invitationId,orgToken}:{invitationId:string,orgToken:string},context:any)=>{
369-
376+
resendInvitation: async (
377+
_: any,
378+
{ invitationId, orgToken }: { invitationId: string; orgToken: string },
379+
context: any
380+
) => {
370381
try {
371-
const {userId}= (await checkUserLoggedIn(context))(['admin']);
372-
if(!userId){
373-
throw new GraphQLError('User not logged In',{
374-
extensions:{
375-
code:'UNAUTHENTICATED'
376-
}
382+
const { userId } = (await checkUserLoggedIn(context))(['admin'])
383+
if (!userId) {
384+
throw new GraphQLError('User not logged In', {
385+
extensions: {
386+
code: 'UNAUTHENTICATED',
387+
},
377388
})
378389
}
379-
const org=await checkLoggedInOrganization(orgToken);
380-
if(!org){
381-
throw new GraphQLError('Organization not logged In',{
382-
extensions:{
383-
code:'UNAUTHENTICATED'
384-
}
390+
const org = await checkLoggedInOrganization(orgToken)
391+
if (!org) {
392+
throw new GraphQLError('Organization not logged In', {
393+
extensions: {
394+
code: 'UNAUTHENTICATED',
395+
},
385396
})
386397
}
387398

388-
const invitation= await Invitation.findOne({_id:invitationId,status:'pending',orgName:org.name.toLocaleLowerCase()});
389-
399+
const invitation = await Invitation.findOne({
400+
_id: invitationId,
401+
status: 'pending',
402+
orgName: org.name.toLocaleLowerCase(),
403+
})
390404

391-
if(!invitation){
392-
throw new GraphQLError('Invitation with the given id does not exists',{
393-
extensions:{
394-
code:'INVALID_INPUT'
405+
if (!invitation) {
406+
throw new GraphQLError(
407+
'Invitation with the given id does not exists',
408+
{
409+
extensions: {
410+
code: 'INVALID_INPUT',
411+
},
395412
}
396-
})
413+
)
397414
}
398-
const{invitees,orgName}=invitation;
399-
400-
for( let invitee of invitees){
401-
const {newToken,link}= await generateInvitationTokenAndLink(invitee?.email as string, invitee.role,orgName);
402-
invitation.createdAt=new Date();
403-
invitation.invitationToken=newToken;
404-
await sendInvitationEmail(invitee?.email as string, org.name, link);
405-
await invitation.save();
415+
const { invitees, orgName } = invitation
416+
417+
for (const invitee of invitees) {
418+
const { newToken, link } = await generateInvitationTokenAndLink(
419+
invitee?.email as string,
420+
invitee.role,
421+
orgName
422+
)
423+
invitation.createdAt = new Date()
424+
invitation.invitationToken = newToken
425+
await sendInvitationEmail(invitee?.email as string, org.name, link)
426+
await invitation.save()
406427
}
407-
408428

409429
return {
410-
success:true,
411-
message:"Invitation was resent successfully"
430+
success: true,
431+
message: 'Invitation was resent successfully',
412432
}
413-
414-
} catch (error:any) {
415-
416-
throw new GraphQLError(error.message,{
417-
extensions:{
418-
code:'INTERNAL_SERVER_ERROR'
419-
}
433+
} catch (error: any) {
434+
throw new GraphQLError(error.message, {
435+
extensions: {
436+
code: 'INTERNAL_SERVER_ERROR',
437+
},
420438
})
421-
422-
423439
}
424-
425-
}
440+
},
426441
},
427442
}
428443

src/resolvers/ratingsResolvers.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,9 @@ const ratingResolvers: any = {
206206
if (!userExists) throw new Error('User does not exist!')
207207

208208
if (userExists.status?.status === 'drop') {
209-
throw new Error('The trainee is dropped');
210-
}
211-
209+
throw new Error('The trainee is dropped')
210+
}
211+
212212
const Kohort = await Cohort.findOne({ _id: cohort })
213213
const Phase = await Cohort.findOne({ _id: cohort }).populate(
214214
'phase',

0 commit comments

Comments
 (0)