nuxt-ssr-cache
Version:
Cache middleware for nuxt's SSR rendering.
91 lines (84 loc) • 2.35 kB
JavaScript
const makeCache = require('../lib/cache-builders');
describe('memoryCache', () => {
it('should return cached result', async () => {
const cache = makeCache({ type: 'memory' });
cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
});
describe('redisCache', () => {
it('should return cached result', async () => {
const cache = makeCache({
type: 'redis',
host: 'localhost'
});
cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
it('should configure on initialization', async () => {
const cache = makeCache({
type: 'redis',
host: process.env.CACHE_HOST || 'localhost',
prefix: '',
ttl: 10 * 60,
configure: [
['maxmemory', '200mb'],
['maxmemory-policy', 'allkeys-lru'],
],
});
cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
});
describe('memcached', () => {
it('should return cached result', async () => {
const cache = makeCache({
type: 'memcached',
options: {
hosts: ['127.0.0.1:11211'],
},
});
await cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
});
describe('multi', () => {
it('memory+memcached should return cached result', async () => {
const cache = makeCache({
type: 'multi',
stores: [
{
type: 'memory',
max: 2000,
ttl: 3600
},
{
type: 'memcached',
options: {
hosts: ['127.0.0.1:11211']
}
}
]
});
await cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
it('memory+redis should return cached result', async () => {
const cache = makeCache({
type: 'multi',
stores: [
{
type: 'memory',
max: 2000,
ttl: 3600
},
{
type: 'redis',
host: 'localhost'
}
]
});
await cache.setAsync('sample', 'data');
expect(await cache.getAsync('sample')).to.be.eql('data');
});
});