瀏覽代碼

Finish stats tests and fix all time calculation

production
Jack Foltz 5 年之前
父節點
當前提交
137b47cf0b
簽署人: foltik <jack@foltz.io> GPG Key ID: 303F88F996E95541
共有 2 個文件被更改,包括 23 次插入6 次删除
  1. +16
    -4
      app/routes/api/stats.js
  2. +7
    -2
      test/api.js

+ 16
- 4
app/routes/api/stats.js 查看文件

@@ -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 查看文件

@@ -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…
取消
儲存