summaryrefslogtreecommitdiff
path: root/test/letter-avatars.js
blob: 0645ef87690337b9099695cb88a2df87e29ff91e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* eslint-env node, mocha */

'use strict'

const assert = require('assert')
const mock = require('mock-require')

describe('generateAvatarURL() gravatar enabled', function () {
  let avatars
  beforeEach(function () {
    // Reset config to make sure we don't influence other tests
    const testconfig = {
      allowGravatar: true,
      serverURL: 'http://localhost:3000',
      port: 3000
    }
    mock('../lib/config', testconfig)
    avatars = mock.reRequire('../lib/letter-avatars')
  })

  it('should return correct urls', function () {
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', true), 'https://cdn.libravatar.org/avatar/d41b5f3508cc3f31865566a47dd0336b?s=400')
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', false), 'https://cdn.libravatar.org/avatar/d41b5f3508cc3f31865566a47dd0336b?s=96')
  })

  it('should return correct urls for names with spaces', function () {
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels'), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
  })
})

describe('generateAvatarURL() gravatar disabled', function () {
  let avatars
  beforeEach(function () {
    // Reset config to make sure we don't influence other tests
    const testconfig = {
      allowGravatar: false,
      serverURL: 'http://localhost:3000',
      port: 3000
    }
    mock('../lib/config', testconfig)
    avatars = mock.reRequire('../lib/letter-avatars')
  })

  it('should return correct urls', function () {
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', true), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', false), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
  })

  it('should return correct urls for names with spaces', function () {
    assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels'), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
  })
})