|
4 | 4 | use Carbon\Carbon;
|
5 | 5 | use Illuminate\Database\Eloquent\Collection as EloquentCollection;
|
6 | 6 | use Illuminate\Database\Eloquent\ModelNotFoundException;
|
| 7 | +use Illuminate\Support\Facades\Date; |
7 | 8 | use Jenssegers\Mongodb\Collection;
|
8 | 9 | use Jenssegers\Mongodb\Connection;
|
9 | 10 | use Jenssegers\Mongodb\Eloquent\Model;
|
@@ -385,8 +386,13 @@ public function testUnset(): void
|
385 | 386 |
|
386 | 387 | public function testDates(): void
|
387 | 388 | {
|
388 |
| - $birthday = new DateTime('1980/1/1'); |
389 |
| - $user = User::create(['name' => 'John Doe', 'birthday' => $birthday]); |
| 389 | + $user = User::create(['name' => 'John Doe', 'birthday' => new DateTime('1965/1/1')]); |
| 390 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 391 | + |
| 392 | + $user = User::where('birthday', '<', new DateTime('1968/1/1'))->first(); |
| 393 | + $this->assertEquals('John Doe', $user->name); |
| 394 | + |
| 395 | + $user = User::create(['name' => 'John Doe', 'birthday' => new DateTime('1980/1/1')]); |
390 | 396 | $this->assertInstanceOf(Carbon::class, $user->birthday);
|
391 | 397 |
|
392 | 398 | $check = User::find($user->_id);
|
@@ -416,19 +422,152 @@ public function testDates(): void
|
416 | 422 | $this->assertEquals($item->created_at->format('Y-m-d H:i:s'), $json['created_at']);
|
417 | 423 |
|
418 | 424 | /** @var User $user */
|
| 425 | + //Test with create and standard property |
419 | 426 | $user = User::create(['name' => 'Jane Doe', 'birthday' => time()]);
|
420 | 427 | $this->assertInstanceOf(Carbon::class, $user->birthday);
|
421 | 428 |
|
| 429 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => Date::now()]); |
| 430 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 431 | + |
422 | 432 | $user = User::create(['name' => 'Jane Doe', 'birthday' => 'Monday 8th of August 2005 03:12:46 PM']);
|
423 | 433 | $this->assertInstanceOf(Carbon::class, $user->birthday);
|
424 | 434 |
|
| 435 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => 'Monday 8th of August 1960 03:12:46 PM']); |
| 436 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 437 | + |
425 | 438 | $user = User::create(['name' => 'Jane Doe', 'birthday' => '2005-08-08']);
|
426 | 439 | $this->assertInstanceOf(Carbon::class, $user->birthday);
|
427 | 440 |
|
| 441 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => '1965-08-08']); |
| 442 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 443 | + |
| 444 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('2010-08-08')]); |
| 445 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 446 | + |
| 447 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('1965-08-08')]); |
| 448 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 449 | + |
| 450 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('2010-08-08 04.08.37')]); |
| 451 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 452 | + |
| 453 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('1965-08-08 04.08.37')]); |
| 454 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 455 | + |
| 456 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('2010-08-08 04.08.37.324')]); |
| 457 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 458 | + |
| 459 | + $user = User::create(['name' => 'Jane Doe', 'birthday' => new DateTime('1965-08-08 04.08.37.324')]); |
| 460 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 461 | + |
| 462 | + //Test with setAttribute and standard property |
| 463 | + $user->setAttribute('birthday', time()); |
| 464 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 465 | + |
| 466 | + $user->setAttribute('birthday', Date::now()); |
| 467 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 468 | + |
| 469 | + $user->setAttribute('birthday', 'Monday 8th of August 2005 03:12:46 PM'); |
| 470 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 471 | + |
| 472 | + $user->setAttribute('birthday', 'Monday 8th of August 1960 03:12:46 PM'); |
| 473 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 474 | + |
| 475 | + $user->setAttribute('birthday', '2005-08-08'); |
| 476 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 477 | + |
| 478 | + $user->setAttribute('birthday', '1965-08-08'); |
| 479 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 480 | + |
| 481 | + $user->setAttribute('birthday', new DateTime('2010-08-08')); |
| 482 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 483 | + |
| 484 | + $user->setAttribute('birthday', new DateTime('1965-08-08')); |
| 485 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 486 | + |
| 487 | + $user->setAttribute('birthday', new DateTime('2010-08-08 04.08.37')); |
| 488 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 489 | + |
| 490 | + $user->setAttribute('birthday', new DateTime('1965-08-08 04.08.37')); |
| 491 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 492 | + |
| 493 | + $user->setAttribute('birthday', new DateTime('2010-08-08 04.08.37.324')); |
| 494 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 495 | + |
| 496 | + $user->setAttribute('birthday', new DateTime('1965-08-08 04.08.37.324')); |
| 497 | + $this->assertInstanceOf(Carbon::class, $user->birthday); |
| 498 | + |
| 499 | + //Test with create and array property |
| 500 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => time()]]); |
| 501 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 502 | + |
| 503 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => Date::now()]]); |
| 504 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 505 | + |
| 506 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => 'Monday 8th of August 2005 03:12:46 PM']]); |
| 507 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 508 | + |
| 509 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => 'Monday 8th of August 1960 03:12:46 PM']]); |
| 510 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 511 | + |
428 | 512 | $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => '2005-08-08']]);
|
429 | 513 | $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date'));
|
430 | 514 |
|
431 |
| - $user->setAttribute('entry.date', new DateTime); |
| 515 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => '1965-08-08']]); |
| 516 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 517 | + |
| 518 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('2010-08-08')]]); |
| 519 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 520 | + |
| 521 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('1965-08-08')]]); |
| 522 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 523 | + |
| 524 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('2010-08-08 04.08.37')]]); |
| 525 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 526 | + |
| 527 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('1965-08-08 04.08.37')]]); |
| 528 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 529 | + |
| 530 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('2010-08-08 04.08.37.324')]]); |
| 531 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 532 | + |
| 533 | + $user = User::create(['name' => 'Jane Doe', 'entry' => ['date' => new DateTime('1965-08-08 04.08.37.324')]]); |
| 534 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 535 | + |
| 536 | + //Test with setAttribute and array property |
| 537 | + $user->setAttribute('entry.date', time()); |
| 538 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 539 | + |
| 540 | + $user->setAttribute('entry.date', Date::now()); |
| 541 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 542 | + |
| 543 | + $user->setAttribute('entry.date', 'Monday 8th of August 2005 03:12:46 PM'); |
| 544 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 545 | + |
| 546 | + $user->setAttribute('entry.date', 'Monday 8th of August 1960 03:12:46 PM'); |
| 547 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 548 | + |
| 549 | + $user->setAttribute('entry.date', '2005-08-08'); |
| 550 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 551 | + |
| 552 | + $user->setAttribute('entry.date', '1965-08-08'); |
| 553 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 554 | + |
| 555 | + $user->setAttribute('entry.date', new DateTime('2010-08-08')); |
| 556 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 557 | + |
| 558 | + $user->setAttribute('entry.date', new DateTime('1965-08-08')); |
| 559 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 560 | + |
| 561 | + $user->setAttribute('entry.date', new DateTime('2010-08-08 04.08.37')); |
| 562 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 563 | + |
| 564 | + $user->setAttribute('entry.date', new DateTime('1965-08-08 04.08.37')); |
| 565 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 566 | + |
| 567 | + $user->setAttribute('entry.date', new DateTime('2010-08-08 04.08.37.324')); |
| 568 | + $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date')); |
| 569 | + |
| 570 | + $user->setAttribute('entry.date', new DateTime('1965-08-08 04.08.37.324')); |
432 | 571 | $this->assertInstanceOf(Carbon::class, $user->getAttribute('entry.date'));
|
433 | 572 |
|
434 | 573 | $data = $user->toArray();
|
|
0 commit comments