Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
36.36% covered (danger)
36.36%
4 / 11
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
FlyMsgAITrackingTrait
36.36% covered (danger)
36.36%
4 / 11
50.00% covered (danger)
50.00%
1 / 2
8.12
0.00% covered (danger)
0.00%
0 / 1
 getFlyMsgAIByUsers
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
12
 getTrackingUserId
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace App\Traits\AccountCenter\Reporting;
4
5use App\Http\Models\FlyMsgAI\FlyMsgAITracking;
6use Carbon\Carbon;
7use MongoDB\BSON\UTCDateTime;
8
9trait FlyMsgAITrackingTrait
10{
11    public function getFlyMsgAIByUsers($userIds, $feature, $fromDate, $toDate)
12    {
13        $query = FlyMsgAITracking::whereIn('user_id', $userIds);
14
15        if ($fromDate && $toDate) {
16            $query = $query->whereBetween('created_at', [
17                new UTCDateTime($fromDate->getTimestamp() * 1000),
18                new UTCDateTime($toDate->getTimestamp() * 1000),
19            ]);
20        }
21
22        return $query->where('feature', '=', $feature)->get();
23    }
24
25    public function getTrackingUserId($userId)
26    {
27        $startDay = Carbon::now()->startOfDay();
28
29        return FlyMsgAITracking::where('user_id', $userId)
30            ->where('created_at', '>=', new UTCDateTime($startDay->getTimestamp() * 1000))
31            ->get();
32    }
33}