Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. ## users/users-repository.js ####################
  2. const users = new Map()
  3.  
  4. exports.create = user => users.set(user.username, user)
  5. exports.read = username => users.get(username)
  6.  
  7. ## users/users.js ###############################
  8. const usersRepo = require('./users-repository')
  9.  
  10. exports.create = user => {
  11. if (!user.username || !user.email || !user.hashPassword || user.hashPassword.length < 8)
  12. return false
  13.  
  14. usersRepo.create(user)
  15. return true
  16. }
  17.  
  18. exports.read = username => usersRepo.read(username)
  19.  
  20. ## users/users.spec.js ##########################
  21. const assert = require('assert')
  22. const users = require('./users')
  23.  
  24. assert(users.create({username: 'bob', email: 'example@example.com', hashPassword: 'A$%Hsdf&/F'}))
  25.  
  26. const user = users.read('bob')
  27. assert(user)
  28. assert.equal(user.username, 'bob')
  29. assert.equal(user.email, 'example@example.com')
  30. assert.equal(user.hashPassword, 'A$%Hsdf&/F')
  31.  
  32. assert(!users.create({username: 'bob', hashPassword: 'A$%Hsdf&/F'}))
  33. assert(!users.create({username: 'bob', email: 'example@example.com', hashPassword: 'HHR$'}))
  34.  
  35. ## users/index.js ###############################
  36. const users = require('./users')
  37. module.exports = users
  38.  
  39. ## app.js #######################################
  40. const users = require('./users')
  41.  
  42. if (!users.create({username: process.env.USERNAME, email: process.env.EMAIL, hashPassword: process.env.HASH_PASSWORD}))
  43. throw new Error('Invalid user\'s information')
  44.  
  45. console.log(users.read(process.env.USERNAME))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement