implement /api/translate route

This commit is contained in:
StevanFreeborn
2022-05-31 23:25:07 -05:00
parent 8fcd23e684
commit 9bca75bd62
2 changed files with 44 additions and 10 deletions
+44
View File
@@ -1,5 +1,6 @@
'use strict';
const { restart } = require('nodemon');
const Translator = require('../components/translator.js');
module.exports = function (app) {
@@ -8,6 +9,49 @@ module.exports = function (app) {
app.route('/api/translate').post((req, res) => {
const text = req.body.text;
const locale = req.body.locale;
if (text == undefined || locale == undefined) return res.status(200).json({error: 'Required field(s) missing'});
if (!text) return res.status(200).json({error: 'No text to translate'});
const validLocales = ['american-to-british', 'british-to-american'];
if (!validLocales.includes(locale)) return res.status(200).json({error: 'Invalid value for locale field'});
if (locale == 'american-to-british') {
const translation = translator.translateAmerican(text);
if (text == translation) return res.status(200).json({
text: text,
translation: 'Everything looks good to me!'
});
return res.status(200).json({
text: text,
translation: translation
});
}
if (locale == 'british-to-american') {
const translation = translator.translateBritish(text);
if (text == translation) return res.status(200).json({
text: text,
translation: 'Everything looks good to me!'
});
return res.status(200).json({
text: text,
translation: translation
});
}
});
};
-10
View File
@@ -206,16 +206,6 @@ suite('Unit Tests', () => {
});
test('Translate { Tea time is usually around 4 or 4.30. } to American English', done => {
const string = 'Tea time is usually around 4 or 4.30.';
const result = translator.translateBritish(string);
assert.equal(result, 'Tea time is usually around 4 or <span class="highlight">4:30</span>.');
done();
});
test('Highlight differences { Mangoes are my favorite fruit. } when translated to British English', done => {
const string = 'Mangoes are my favorite fruit.';