diff --git a/.github/workflows/api.yaml b/.github/workflows/api.yaml index 04d5565..d2858be 100644 --- a/.github/workflows/api.yaml +++ b/.github/workflows/api.yaml @@ -77,3 +77,5 @@ jobs: - name: Build application working-directory: ./api run: yarn test + env: + MONGO_URL: ${{ secrets.MONGO_URL }} diff --git a/.gitignore b/.gitignore index 6704566..9eb0d33 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,6 @@ dist # TernJS port file .tern-port + +# Env files +api/config/* \ No newline at end of file diff --git a/api/config/dev.env b/api/config/dev.env deleted file mode 100644 index dba90cf..0000000 --- a/api/config/dev.env +++ /dev/null @@ -1 +0,0 @@ -MONGO_URL=dev-mongo \ No newline at end of file diff --git a/api/config/production.env b/api/config/production.env deleted file mode 100644 index bd0d1d5..0000000 --- a/api/config/production.env +++ /dev/null @@ -1 +0,0 @@ -MONGO_URL=production-mongo \ No newline at end of file diff --git a/api/config/test.env b/api/config/test.env deleted file mode 100644 index 5b0bcb6..0000000 --- a/api/config/test.env +++ /dev/null @@ -1 +0,0 @@ -MONGO_URL=test-mongo \ No newline at end of file diff --git a/api/src/api/home.js b/api/src/api/home.js index 9a1cf16..b641d3a 100644 --- a/api/src/api/home.js +++ b/api/src/api/home.js @@ -7,13 +7,11 @@ const Home = require('../models/home'); router.get( '/', errorWrap(async (req, res) => { - // MongoDB connection - // const homeText = await Home.findOne(); - const homeText = "You've connected the database! Isn't it so beautiful???"; + const home = await Home.findOne(); res.status(200).json({ message: `Successfully returned home text`, success: true, - result: homeText, + result: home.text, }); }), ); diff --git a/api/src/app.js b/api/src/app.js index d9901f6..f68d976 100644 --- a/api/src/app.js +++ b/api/src/app.js @@ -13,24 +13,24 @@ const bodyParser = require('body-parser'); const app = express(); const { errorHandler } = require('./middleware'); -if (process.env.NODE_ENV != 'production') { +const environment = process.env.NODE_ENV || 'dev'; +if (environment != 'production') { dotenv.config({ - path: path.resolve(__dirname, `../config/${process.env.NODE_ENV}.env`), + path: path.resolve(__dirname, `../config/${environment}.env`), }); } // CONNECTION TO MONGO +mongoose.connect(process.env.MONGO_URL, { + useNewUrlParser: true, + useUnifiedTopology: true, +}); -// mongoose.connect(process.env.MONGO_URL, { -// useNewUrlParser: true, -// useUnifiedTopology: true, -// }); - -// mongoose.Promise = global.Promise; +mongoose.Promise = global.Promise; -// mongoose.connection -// .once('open', () => console.log('Connected to MongoLab instance.')) -// .on('error', error => console.log('Error connecting to MongoLab:', error)); +mongoose.connection + .once('open', () => console.log('Connected to MongoLab instance.')) + .on('error', (error) => console.log('Error connecting to MongoLab:', error)); app.use(helmet()); app.use(cors()); diff --git a/api/test/home.test.js b/api/test/home.test.js index f7e3d6f..a3f1807 100644 --- a/api/test/home.test.js +++ b/api/test/home.test.js @@ -2,6 +2,10 @@ const app = require('../src/app'); const mongoose = require('mongoose'); const request = require('supertest'); +afterAll(async () => { + await mongoose.connection.close(); +}); + describe('GET / ', () => { test('API should return working message', async () => { const response = await request(app).get('/');