* @property string $entity_type
* @property int $entity_id
* @property int $user_id
+ * @property Carbon $created_at
+ * @property Carbon $updated_at
*/
class Activity extends Model
{
"id": 2,
"name": "Benny",
"email": "benny@example.com",
- "created_at": "2022-01-31T20:39:24.000000Z",
+ "created_at": "2020-01-15T04:43:11.000000Z",
"updated_at": "2021-11-18T17:10:58.000000Z",
"external_auth_id": "",
"slug": "benny",
namespace Tests\Api;
use BookStack\Activity\ActivityType;
+use BookStack\Activity\Models\Activity as ActivityModel;
use BookStack\Entities\Models\Entity;
+use BookStack\Facades\Activity;
use BookStack\Notifications\UserInvite;
use BookStack\Users\Models\Role;
use BookStack\Users\Models\User;
]]);
}
+ public function test_index_endpoint_has_correct_created_and_last_activity_dates()
+ {
+ $user = $this->users->editor();
+ $user->created_at = now()->subYear();
+ $user->save();
+
+ $this->actingAs($user);
+ Activity::add(ActivityType::AUTH_LOGIN, 'test login activity');
+ /** @var ActivityModel $activity */
+ $activity = ActivityModel::query()->where('user_id', '=', $user->id)->latest()->first();
+
+ $resp = $this->asAdmin()->getJson($this->baseEndpoint . '?filter[id]=3');
+ $resp->assertJson(['data' => [
+ [
+ 'id' => $user->id,
+ 'created_at' => $user->created_at->toJSON(),
+ 'last_activity_at' => $activity->created_at->toJson(),
+ ],
+ ]]);
+ }
+
public function test_create_endpoint()
{
$this->actingAsApiAdmin();