Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
FlyMsgAITrackingTrait
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
2 / 2
4
100.00% covered (success)
100.00%
1 / 1
 getFlyMsgAIByUsers
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
3
 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}