gdbots/enrichments-bundle-php

View on GitHub
tests/UaParserEnricherTest.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
declare(strict_types=1);

namespace Gdbots\Tests\Bundle\EnrichmentsBundle;

use Gdbots\Bundle\EnrichmentsBundle\UaParserEnricher;
use Gdbots\Pbjx\Event\PbjxEvent;
use PHPUnit\Framework\TestCase;

class UaParserEnricherTest extends TestCase
{
    public function testEnrich()
    {
        $command = Fixtures\FakeCommand::create();
        $command->set('ctx_ua', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Firefox/45.0');
        $enricher = new UaParserEnricher();
        $pbjxEvent = new PbjxEvent($command);

        $enricher->enrich($pbjxEvent);
        $userAgent = $command->get('ctx_ua_parsed');

        $this->assertInstanceOf('Gdbots\Schemas\Contexts\UserAgent', $userAgent);
        $this->assertSame('Firefox', $userAgent->get('br_family'));
        $this->assertSame(45, $userAgent->get('br_major'));
        $this->assertSame(0, $userAgent->get('br_minor'));
        $this->assertSame(0, $userAgent->get('br_patch'));
        $this->assertSame('Mac OS X', $userAgent->get('os_family'));
        $this->assertSame(10, $userAgent->get('os_major'));
        $this->assertSame(9, $userAgent->get('os_minor'));
        $this->assertSame(0, $userAgent->get('os_patch'));
        $this->assertSame(0, $userAgent->get('os_patch_minor'));
        $this->assertSame('Other', $userAgent->get('dvce_family'));
    }
}