UNPKG

5.35 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _delay = require('delay');
8
9var _delay2 = _interopRequireDefault(_delay);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
14
15const keyvApiTests = (test, Keyv, store) => {
16 test.beforeEach(_asyncToGenerator(function* () {
17 const keyv = new Keyv({ store: store });
18 yield keyv.clear();
19 }));
20
21 test.serial('.set(key, value) returns a Promise', t => {
22 const keyv = new Keyv({ store: store });
23 t.true(keyv.set('foo', 'bar') instanceof Promise);
24 });
25
26 test.serial('.set(key, value) resolves to value', (() => {
27 var _ref2 = _asyncToGenerator(function* (t) {
28 const keyv = new Keyv({ store: store });
29 t.is((yield keyv.set('foo', 'bar')), 'bar');
30 });
31
32 return function (_x) {
33 return _ref2.apply(this, arguments);
34 };
35 })());
36
37 test.serial('.set(key, value) sets a value', (() => {
38 var _ref3 = _asyncToGenerator(function* (t) {
39 const keyv = new Keyv({ store: store });
40 t.is((yield keyv.set('foo', 'bar')), 'bar');
41 t.is((yield keyv.get('foo')), 'bar');
42 });
43
44 return function (_x2) {
45 return _ref3.apply(this, arguments);
46 };
47 })());
48
49 test.serial('.set(key, value, ttl) sets a value that expires', (() => {
50 var _ref4 = _asyncToGenerator(function* (t) {
51 const keyv = new Keyv({ store: store });
52 t.is((yield keyv.set('foo', 'bar', 100)), 'bar');
53 t.is((yield keyv.get('foo')), 'bar');
54 yield (0, _delay2.default)(110);
55 t.is((yield keyv.get('foo')), undefined);
56 });
57
58 return function (_x3) {
59 return _ref4.apply(this, arguments);
60 };
61 })());
62
63 test.serial('.get(key) returns a Promise', t => {
64 const keyv = new Keyv({ store: store });
65 t.true(keyv.get('foo') instanceof Promise);
66 });
67
68 test.serial('.get(key) resolves to value', (() => {
69 var _ref5 = _asyncToGenerator(function* (t) {
70 const keyv = new Keyv({ store: store });
71 yield keyv.set('foo', 'bar');
72 t.is((yield keyv.get('foo')), 'bar');
73 });
74
75 return function (_x4) {
76 return _ref5.apply(this, arguments);
77 };
78 })());
79
80 test.serial('.get(key) with nonexistent key resolves to undefined', (() => {
81 var _ref6 = _asyncToGenerator(function* (t) {
82 const keyv = new Keyv({ store: store });
83 t.is((yield keyv.get('foo')), undefined);
84 });
85
86 return function (_x5) {
87 return _ref6.apply(this, arguments);
88 };
89 })());
90
91 test.serial('.get(key) with falsey key resolves to value', (() => {
92 var _ref7 = _asyncToGenerator(function* (t) {
93 const keyv = new Keyv({ store: store });
94 yield keyv.set('foo', false);
95 t.is((yield keyv.get('foo')), false);
96 });
97
98 return function (_x6) {
99 return _ref7.apply(this, arguments);
100 };
101 })());
102
103 test.serial('.delete(key) returns a Promise', t => {
104 const keyv = new Keyv({ store: store });
105 t.true(keyv.delete('foo') instanceof Promise);
106 });
107
108 test.serial('.delete(key) resolves to true', (() => {
109 var _ref8 = _asyncToGenerator(function* (t) {
110 const keyv = new Keyv({ store: store });
111 yield keyv.set('foo', 'bar');
112 t.is((yield keyv.delete('foo')), true);
113 });
114
115 return function (_x7) {
116 return _ref8.apply(this, arguments);
117 };
118 })());
119
120 test.serial('.delete(key) with nonexistent key resolves to false', (() => {
121 var _ref9 = _asyncToGenerator(function* (t) {
122 const keyv = new Keyv({ store: store });
123 t.is((yield keyv.delete('foo')), false);
124 });
125
126 return function (_x8) {
127 return _ref9.apply(this, arguments);
128 };
129 })());
130
131 test.serial('.delete(key) deletes a key', (() => {
132 var _ref10 = _asyncToGenerator(function* (t) {
133 const keyv = new Keyv({ store: store });
134 yield keyv.set('foo', 'bar');
135 t.is((yield keyv.delete('foo')), true);
136 t.is((yield keyv.get('foo')), undefined);
137 });
138
139 return function (_x9) {
140 return _ref10.apply(this, arguments);
141 };
142 })());
143
144 test.serial('.clear() returns a Promise', t => {
145 const keyv = new Keyv({ store: store });
146 t.true(keyv.clear() instanceof Promise);
147 });
148
149 test.serial('.clear() resolves to undefiend', (() => {
150 var _ref11 = _asyncToGenerator(function* (t) {
151 const keyv = new Keyv({ store: store });
152 t.is((yield keyv.clear()), undefined);
153 yield keyv.set('foo', 'bar');
154 t.is((yield keyv.clear()), undefined);
155 });
156
157 return function (_x10) {
158 return _ref11.apply(this, arguments);
159 };
160 })());
161
162 test.serial('.clear() deletes all key/value pairs', (() => {
163 var _ref12 = _asyncToGenerator(function* (t) {
164 const keyv = new Keyv({ store: store });
165 yield keyv.set('foo', 'bar');
166 yield keyv.set('fizz', 'buzz');
167 yield keyv.clear();
168 t.is((yield keyv.get('foo')), undefined);
169 t.is((yield keyv.get('fizz')), undefined);
170 });
171
172 return function (_x11) {
173 return _ref12.apply(this, arguments);
174 };
175 })());
176
177 test.after.always(_asyncToGenerator(function* () {
178 const keyv = new Keyv({ store: store });
179 yield keyv.clear();
180 }));
181};
182
183exports.default = keyvApiTests;
\No newline at end of file