diff --git a/routes/api.js b/routes/api.js index e54a0ea..973a0fc 100644 --- a/routes/api.js +++ b/routes/api.js @@ -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 + }); + + } + }); }; \ No newline at end of file diff --git a/tests/1_unit-tests.js b/tests/1_unit-tests.js index 36c885f..b7eeaed 100644 --- a/tests/1_unit-tests.js +++ b/tests/1_unit-tests.js @@ -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 4:30.'); - done(); - - }); - test('Highlight differences { Mangoes are my favorite fruit. } when translated to British English', done => { const string = 'Mangoes are my favorite fruit.';