diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/controllers/api/server/contact.ts | 2 | ||||
-rw-r--r-- | server/lib/emailer.ts | 4 | ||||
-rw-r--r-- | server/tests/api/check-params/contact-form.ts | 1 | ||||
-rw-r--r-- | server/tests/api/server/contact-form.ts | 10 |
4 files changed, 11 insertions, 6 deletions
diff --git a/server/controllers/api/server/contact.ts b/server/controllers/api/server/contact.ts index b1144c94e..de02ffc0b 100644 --- a/server/controllers/api/server/contact.ts +++ b/server/controllers/api/server/contact.ts | |||
@@ -14,7 +14,7 @@ contactRouter.post('/contact', | |||
14 | async function contactAdministrator (req: express.Request, res: express.Response) { | 14 | async function contactAdministrator (req: express.Request, res: express.Response) { |
15 | const data = req.body as ContactForm | 15 | const data = req.body as ContactForm |
16 | 16 | ||
17 | await Emailer.Instance.addContactFormJob(data.fromEmail, data.fromName, data.body) | 17 | await Emailer.Instance.addContactFormJob(data.fromEmail, data.fromName, data.subject, data.body) |
18 | 18 | ||
19 | await Redis.Instance.setContactFormIp(req.ip) | 19 | await Redis.Instance.setContactFormIp(req.ip) |
20 | 20 | ||
diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts index c4a5a5853..73c2bcb1b 100644 --- a/server/lib/emailer.ts +++ b/server/lib/emailer.ts | |||
@@ -402,7 +402,7 @@ class Emailer { | |||
402 | return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) | 402 | return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) |
403 | } | 403 | } |
404 | 404 | ||
405 | addContactFormJob (fromEmail: string, fromName: string, body: string) { | 405 | addContactFormJob (fromEmail: string, fromName: string, subject: string, body: string) { |
406 | const text = 'Hello dear admin,\n\n' + | 406 | const text = 'Hello dear admin,\n\n' + |
407 | fromName + ' sent you a message' + | 407 | fromName + ' sent you a message' + |
408 | '\n\n---------------------------------------\n\n' + | 408 | '\n\n---------------------------------------\n\n' + |
@@ -415,7 +415,7 @@ class Emailer { | |||
415 | fromDisplayName: fromEmail, | 415 | fromDisplayName: fromEmail, |
416 | replyTo: fromEmail, | 416 | replyTo: fromEmail, |
417 | to: [ CONFIG.ADMIN.EMAIL ], | 417 | to: [ CONFIG.ADMIN.EMAIL ], |
418 | subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Contact form submitted', | 418 | subject: CONFIG.EMAIL.OBJECT.PREFIX + subject, |
419 | text | 419 | text |
420 | } | 420 | } |
421 | 421 | ||
diff --git a/server/tests/api/check-params/contact-form.ts b/server/tests/api/check-params/contact-form.ts index dbdd3a8a6..b3051945e 100644 --- a/server/tests/api/check-params/contact-form.ts +++ b/server/tests/api/check-params/contact-form.ts | |||
@@ -26,6 +26,7 @@ describe('Test contact form API validators', function () { | |||
26 | const defaultBody = { | 26 | const defaultBody = { |
27 | fromName: 'super name', | 27 | fromName: 'super name', |
28 | fromEmail: 'toto@example.com', | 28 | fromEmail: 'toto@example.com', |
29 | subject: 'my subject', | ||
29 | body: 'Hello, how are you?' | 30 | body: 'Hello, how are you?' |
30 | } | 31 | } |
31 | let emailPort: number | 32 | let emailPort: number |
diff --git a/server/tests/api/server/contact-form.ts b/server/tests/api/server/contact-form.ts index 87e55060c..e4e895acb 100644 --- a/server/tests/api/server/contact-form.ts +++ b/server/tests/api/server/contact-form.ts | |||
@@ -43,6 +43,7 @@ describe('Test contact form', function () { | |||
43 | url: server.url, | 43 | url: server.url, |
44 | fromEmail: 'toto@example.com', | 44 | fromEmail: 'toto@example.com', |
45 | body: 'my super message', | 45 | body: 'my super message', |
46 | subject: 'my subject', | ||
46 | fromName: 'Super toto' | 47 | fromName: 'Super toto' |
47 | }) | 48 | }) |
48 | 49 | ||
@@ -55,7 +56,7 @@ describe('Test contact form', function () { | |||
55 | expect(email['from'][0]['address']).equal('test-admin@localhost') | 56 | expect(email['from'][0]['address']).equal('test-admin@localhost') |
56 | expect(email['from'][0]['name']).equal('toto@example.com') | 57 | expect(email['from'][0]['name']).equal('toto@example.com') |
57 | expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com') | 58 | expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com') |
58 | expect(email['subject']).contains('Contact form') | 59 | expect(email['subject']).contains('my subject') |
59 | expect(email['text']).contains('my super message') | 60 | expect(email['text']).contains('my super message') |
60 | }) | 61 | }) |
61 | 62 | ||
@@ -64,6 +65,7 @@ describe('Test contact form', function () { | |||
64 | url: server.url, | 65 | url: server.url, |
65 | fromEmail: 'toto@example.com', | 66 | fromEmail: 'toto@example.com', |
66 | body: 'my super message', | 67 | body: 'my super message', |
68 | subject: 'my subject', | ||
67 | fromName: 'Super toto' | 69 | fromName: 'Super toto' |
68 | }) | 70 | }) |
69 | 71 | ||
@@ -72,6 +74,7 @@ describe('Test contact form', function () { | |||
72 | fromEmail: 'toto@example.com', | 74 | fromEmail: 'toto@example.com', |
73 | body: 'my super message', | 75 | body: 'my super message', |
74 | fromName: 'Super toto', | 76 | fromName: 'Super toto', |
77 | subject: 'my subject', | ||
75 | expectedStatus: 403 | 78 | expectedStatus: 403 |
76 | }) | 79 | }) |
77 | }) | 80 | }) |
@@ -82,8 +85,9 @@ describe('Test contact form', function () { | |||
82 | await sendContactForm({ | 85 | await sendContactForm({ |
83 | url: server.url, | 86 | url: server.url, |
84 | fromEmail: 'toto@example.com', | 87 | fromEmail: 'toto@example.com', |
85 | body: 'my super message', | 88 | fromName: 'Super toto', |
86 | fromName: 'Super toto' | 89 | subject: 'my subject', |
90 | body: 'my super message' | ||
87 | }) | 91 | }) |
88 | }) | 92 | }) |
89 | 93 | ||