db.unit.test.js 1.81 KB
Newer Older
Rosanny Sihombing's avatar
Rosanny Sihombing committed
1
const dbController = require('../../src/controller/dbController')
Rosanny Sihombing's avatar
Rosanny Sihombing committed
2

Rosanny Sihombing's avatar
Rosanny Sihombing committed
3
4
describe('DB methohds test', () => {
  it('returns a user from DB by email', async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
5
    const user = await dbController.getUserByEmail('litehon958@whipjoy.com')
Rosanny Sihombing's avatar
Rosanny Sihombing committed
6
7
8
    expect(user).not.toBeNull()
  })
  it('returns a null user', async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
9
    const user = await dbController.getUserByEmail('jondoe@nowhere.com') // a non-exist user
Rosanny Sihombing's avatar
Rosanny Sihombing committed
10
11
12
13
    expect(user).toBeNull()
  })

  it("returns a user's email", async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
14
    const email = await dbController.getUserEmailById(1)
Rosanny Sihombing's avatar
Rosanny Sihombing committed
15
16
17
    expect(email).not.toBeNull()
  })
  it("returns null instead of a user's email", async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
18
    const email = await dbController.getUserEmailById(1005) // no user has this ID
Rosanny Sihombing's avatar
Rosanny Sihombing committed
19
20
21
22
    expect(email).toBeNull()
  })

  it('returns null from DB by token', async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
23
    const user = await dbController.getUserByToken('12345678') // unvalid token
Rosanny Sihombing's avatar
Rosanny Sihombing committed
24
25
26
27
    expect(user).toBeNull() // for valid token = expect(user).not.toBeNull()
  })

  it("returns a user's verification token, if any", async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
28
    const token = await dbController.getVerificationTokenByUserId(1)
Rosanny Sihombing's avatar
Rosanny Sihombing committed
29
30
31
32
    expect(token).toBeNull()
  })

  it("returns a user's ID, if any", async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
33
    const token = await dbController.getUserIdByVerificationToken('12345678') // unvalid token
Rosanny Sihombing's avatar
Rosanny Sihombing committed
34
35
36
37
    expect(token).toBeNull() // for valid token = expect(user).not.toBeNull()
  })

  it("returns a user's GitLab_ID, if any", async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
38
    const id = await dbController.getGitlabId(1)
Rosanny Sihombing's avatar
Rosanny Sihombing committed
39
40
41
42
    expect(id).not.toBeNull()
  })

  it('checks user email', async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
43
    const user = await dbController.checkUserEmail('litehon958@whipjoy.com')
Rosanny Sihombing's avatar
Rosanny Sihombing committed
44
45
46
    expect(user).not.toBeNull()
  })
  it('checks user email and return null', async () => {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
47
    const user = await dbController.checkUserEmail('jondoe@nowhere.com') // a non-exist user
Rosanny Sihombing's avatar
Rosanny Sihombing committed
48
49
50
    expect(user).toBeNull()
  })
})