mirror of
https://github.com/Foltik/Shimapan
synced 2024-11-13 00:26:55 -05:00
Finish stats tests and fix all time calculation
This commit is contained in:
parent
6820a4d2c6
commit
137b47cf0b
@ -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);
|
||||
}));
|
||||
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user