Explorar el Código

Finish stats tests and fix all time calculation

production
Jack Foltz hace 5 años
padre
commit
137b47cf0b
Firmado por: foltik <jack@foltz.io> ID de clave GPG: 303F88F996E95541
Se han modificado 2 ficheros con 23 adiciones y 6 borrados
  1. +16
    -4
      app/routes/api/stats.js
  2. +7
    -2
      test/api.js

+ 16
- 4
app/routes/api/stats.js Ver fichero

@@ -72,7 +72,6 @@ router.get('/week', requireAuth('stats.get'), wrap(async (req, res) => {
}
}
]).toArray());

const viewStats = await (View.collection.aggregate([
{
$match: {
@@ -105,7 +104,7 @@ router.get('/week', requireAuth('stats.get'), wrap(async (req, res) => {
}));

router.get('/all', requireAuth('stats.get'), wrap(async (req, res) => {
const stats = await (Upload.collection.aggregate([
const uploadStats = await (Upload.collection.aggregate([
{
$match: {
'uploader': req.username
@@ -113,7 +112,6 @@ router.get('/all', requireAuth('stats.get'), wrap(async (req, res) => {
},
{
$project: {
'views': '$views',
'size': '$file.size'
}
},
@@ -121,11 +119,25 @@ router.get('/all', requireAuth('stats.get'), wrap(async (req, res) => {
$group: {
'_id': 'total',
'count': {$sum: 1},
'views': {$sum: '$views'},
'size': {$sum: '$size'}
}
}
]).toArray());
const viewStats = await (View.collection.aggregate([
{
$match: {
'uploader': req.username
}
},
{
$group: {
'_id': 'total',
'views': {$sum: 1},
}
}
]).toArray());

const stats = mergeAggregations(uploadStats, viewStats);

res.status(200).json(stats);
}));


+ 7
- 2
test/api.js Ver fichero

@@ -1021,8 +1021,13 @@ describe('Stats', () => {
await setupUploadsAndViews();

await util.createSession(agent, ['stats.get'], 'user');
const stats = await util.getStatsAll(agent);
console.log(stats.body);
const stats = (await util.getStatsAll(agent)).body;

stats.should.have.property('total');
stats.total.should.have.property('count').equal(8);
stats.total.should.have.property('size').equal(8);
stats.total.should.have.property('views').equal(8);

await util.logout(agent);
});
});


Cargando…
Cancelar
Guardar