1 | const assert = require('assert');
|
2 | const { generate, Tokenizer, create, timeCoded, timeDecoded } = require('../namespace/token');
|
3 |
|
4 | describe("Token Tests", function () {
|
5 |
|
6 | it('should create a 6 character token', function () {
|
7 | assert(generate(6).length, 6);
|
8 | });
|
9 |
|
10 | it('should create a 12 character token', function () {
|
11 | assert(generate(12).length, 12);
|
12 | });
|
13 |
|
14 | it('should create a new tokenizer from a provided radix', function () {
|
15 | let myTokenizer = create('0123456789');
|
16 | assert(/\d/.test(myTokenizer.generate(6)), false);
|
17 | });
|
18 |
|
19 | it('should create a TimeEncoded Token', function () {
|
20 | let timeToken = timeCoded();
|
21 | assert.ok(timeToken);
|
22 | assert.equal(timeDecoded(timeToken).constructor === Date, true);
|
23 | });
|
24 |
|
25 | it('should create a TimeEncoded Token and decode it to type = Date', function () {
|
26 | let timeToken = timeCoded();
|
27 | assert.ok(timeToken);
|
28 | assert.equal(timeDecoded(timeToken).constructor === Date, true);
|
29 | });
|
30 |
|
31 | it('The decoded time token should only be a few milliseconds apart from creating it at most', function () {
|
32 | let timeToken = timeCoded();
|
33 | let createdAt = new Date().getTime();
|
34 | let decoded = timeDecoded(timeToken).getTime();
|
35 |
|
36 | assert.equal(createdAt <= decoded, true);
|
37 |
|
38 | assert.equal(createdAt + 100 > decoded, true);
|
39 | });
|
40 |
|
41 | });
|