LoggerTest.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\ReleaseNotification\Model\ResourceModel\Viewer;
  7. use Magento\ReleaseNotification\Model\Viewer\Log;
  8. use Magento\TestFramework\Helper\Bootstrap;
  9. /**
  10. * @magentoDbIsolation enabled
  11. */
  12. class LoggerTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @var Logger
  16. */
  17. private $logger;
  18. /**
  19. * @return void
  20. */
  21. protected function setUp()
  22. {
  23. $objectManager = Bootstrap::getObjectManager();
  24. $this->logger = $objectManager->get(Logger::class);
  25. }
  26. /**
  27. * @magentoDataFixture Magento/User/_files/user_with_role.php
  28. */
  29. public function testLogAndGet()
  30. {
  31. $userModel = Bootstrap::getObjectManager()->get(\Magento\User\Model\User::class);
  32. $adminUserNameFromFixture = 'adminUser';
  33. $adminUserId = $userModel->loadByUsername($adminUserNameFromFixture)->getId();
  34. $this->assertEmpty($this->logger->get($adminUserId)->getId());
  35. $firstLogVersion = '2.2.2';
  36. $this->logger->log($adminUserId, $firstLogVersion);
  37. $firstLog = $this->logger->get($adminUserId);
  38. $this->assertInstanceOf(Log::class, $firstLog);
  39. $this->assertEquals($firstLogVersion, $firstLog->getLastViewVersion());
  40. $this->assertEquals($adminUserId, $firstLog->getViewerId());
  41. $secondLogVersion = '2.3.0';
  42. $this->logger->log($adminUserId, $secondLogVersion);
  43. $secondLog = $this->logger->get($adminUserId);
  44. $this->assertInstanceOf(Log::class, $secondLog);
  45. $this->assertEquals($secondLogVersion, $secondLog->getLastViewVersion());
  46. $this->assertEquals($adminUserId, $secondLog->getViewerId());
  47. $this->assertEquals($firstLog->getId(), $secondLog->getId());
  48. }
  49. /**
  50. * @expectedException \Zend_Db_Statement_Exception
  51. */
  52. public function testLogNonExistUser()
  53. {
  54. $this->logger->log(200, '2.2.2');
  55. }
  56. }