study / okdevtv star
허광남 허광남 02-28
♻️ refactor
@7932e047e09dcb2acc471017b082e83b0c214488
lib/db.js
--- lib/db.js
+++ lib/db.js
@@ -7,16 +7,20 @@
 })
 require('dotenv').config()
 const { Sequelize, Model, DataTypes } = require('sequelize')
-const sequelize = new Sequelize(
-  process.env.DB_NAME || 'devuser',
-  process.env.DB_USER || 'devpass',
-  process.env.DB_PASS || 'devdb',
-  {
-    host: 'localhost',
-    dialect: 'mariadb',
-    timezone: 'Asia/Seoul',
-    logging: false,
-  }
-)
+let dbName = process.env.DB_NAME || 'devdb'
+let dbUser = process.env.DB_USER || 'devuser'
+let dbPass = process.env.DB_PASS || 'devpass'
+const testFlag = process.env['JEST_WORKER_ID']
+if (testFlag) {
+  dbName = 'devdbtest'
+  dbUser = 'testuser'
+  dbPass = 'testpass'
+}
+const sequelize = new Sequelize(dbName, dbUser, dbPass, {
+  host: 'localhost',
+  dialect: 'mariadb',
+  timezone: 'Asia/Seoul',
+  logging: false,
+})
 
 module.exports = { connection, sequelize, Model, DataTypes }
lib/user.js
--- lib/user.js
+++ lib/user.js
@@ -28,16 +28,6 @@
   return rows
 }
 
-async function remove(id) {
-  await sequelize.sync()
-  const row = await User.destroy({
-    where: {
-      id: id,
-    },
-  })
-  return row
-}
-
 async function update(data) {
   await sequelize.sync()
   const row = await User.update(data, {
@@ -48,10 +38,30 @@
   return row
 }
 
+async function remove(id) {
+  await sequelize.sync()
+  const row = await User.destroy({
+    where: {
+      id: id,
+    },
+  })
+  return row
+}
+
+async function removeAll() {
+  await sequelize.sync()
+  const row = await User.destroy({
+    where: {},
+    truncate: true,
+  })
+  return row
+}
+
 module.exports = {
   create,
   get,
   findAll,
-  remove,
   update,
+  remove,
+  removeAll,
 }
package.json
--- package.json
+++ package.json
@@ -42,6 +42,7 @@
     "passport": "^0.6.0",
     "passport-facebook": "^3.0.0",
     "passport-github2": "^0.1.12",
+    "random-email": "^1.0.3",
     "redis": "^3.1.2",
     "sequelize": "^6.29.0",
     "serve-favicon": "^2.5.0",
tests/bookmark.test.js
--- tests/bookmark.test.js
+++ tests/bookmark.test.js
@@ -16,5 +16,8 @@
     // get bookmark
     const row = await bookmark.get(result.dataValues.id)
     expect(row.pathname).toBe(data.pathname)
+    expect(row.userId).toBe(data.userId)
+    await bookmark.remove(result.dataValues.id)
+    user.remove(data.userId)
   })
 })
 
tests/mariadb.test.js (deleted)
--- tests/mariadb.test.js
@@ -1,20 +0,0 @@
-const bookmark = require('../lib/bookmark')
-describe('Bookmark', () => {
-  it('should create a bookmark', async () => {
-    const ts = Date.now()
-    const result = await bookmark.create({
-      pathname: '/mib/java/jsp' + ts,
-    })
-    expect(result.pathname).toBe('/mib/java/jsp' + ts)
-  })
-
-  it('should get a bookmark', async () => {
-    const ts = Date.now()
-    const result = await bookmark.create({
-      pathname: '/mib/java/jsp' + ts,
-    })
-    console.log(result.id)
-    const row = await bookmark.get(result.id)
-    expect(row.pathname).toBe('/mib/java/jsp' + ts)
-  })
-})
tests/number.test.js
--- tests/number.test.js
+++ tests/number.test.js
@@ -1,28 +1,12 @@
+const {add, subtract, multiply, divide} = require('./numbers')
+
 test('add', () => {
   expect(add(1, 2)).toBe(3)
 })
-
 // test for subtract
 test('subtract', () => {
   expect(subtract(2, 1)).toBe(1)
 })
-// add
-function add(a, b) {
-  return a + b
-}
-function subtract(a, b) {
-  return a - b
-}
-
-// multiply
-function multiply(a, b) {
-  return a * b
-}
-
-// divide
-function divide(a, b) {
-  return a / b
-}
 
 // test for multiply
 test('multiply', () => {
 
tests/numbers.js (added)
+++ tests/numbers.js
@@ -0,0 +1,16 @@
+function add(a, b) {
+  return a + b
+}
+function subtract(a, b) {
+  return a - b
+}
+function multiply(a, b) {
+  return a * b
+}
+function divide(a, b) {
+  return a / b
+}
+
+module.exports = {
+  add, subtract, multiply, divide
+}(No newline at end of file)
tests/user.test.js
--- tests/user.test.js
+++ tests/user.test.js
@@ -1,6 +1,7 @@
 const user = require('../lib/user')
+const randomEmail = require('random-email')({ domain: 'okdevtv.com' })
 const userData = {
-  email: 'kenu.heo@gmail.com',
+  email: randomEmail,
   passwd: '',
   github: '',
 }
@@ -20,4 +21,4 @@
   })
 })
 
-module.exports = userData;
+module.exports = userData
Add a comment
List