StatisticsViewsResult example


class StatisticsViewsResultTest extends UnitTestCase {

  /** * Tests migration of node counter. * * @covers ::__construct * * @dataProvider providerTestStatisticsCount */
  public function testStatisticsCount($total_count$day_count$timestamp) {
    $statistics = new StatisticsViewsResult($total_count$day_count$timestamp);
    $this->assertSame((int) $total_count$statistics->getTotalCount());
    $this->assertSame((int) $day_count$statistics->getDayCount());
    $this->assertSame((int) $timestamp$statistics->getTimestamp());
  }

  public function providerTestStatisticsCount() {
    return [
      [2, 0, 1421727536],
      [1, 0, 1471428059],
      [1, 1, 1478755275],
      ['1', '1', '1478755275'],
    ];
/** * {@inheritdoc} */
  public function fetchViews($ids) {
    $views = $this->connection
      ->select('node_counter', 'nc')
      ->fields('nc', ['totalcount', 'daycount', 'timestamp'])
      ->condition('nid', $ids, 'IN')
      ->execute()
      ->fetchAll();
    foreach ($views as $id => $view) {
      $views[$id] = new StatisticsViewsResult($view->totalcount, $view->daycount, $view->timestamp);
    }
    return $views;
  }

  /** * {@inheritdoc} */
  public function fetchView($id) {
    $views = $this->fetchViews([$id]);
    return reset($views);
  }

  
Home | Imprint | This part of the site doesn't use cookies.