Package com.eclipsesource.tabris.tracking.tracker

Source Code of com.eclipsesource.tabris.tracking.tracker.ConsoleTrackerTest

/*******************************************************************************
* Copyright (c) 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*    EclipseSource - initial API and implementation
******************************************************************************/
package com.eclipsesource.tabris.tracking.tracker;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

import java.io.PrintStream;
import java.math.BigDecimal;

import org.junit.Before;
import org.junit.Test;

import com.eclipsesource.tabris.tracking.Order;
import com.eclipsesource.tabris.tracking.TrackingEvent;
import com.eclipsesource.tabris.tracking.TrackingEvent.EventType;
import com.eclipsesource.tabris.tracking.TrackingInfo;


public class ConsoleTrackerTest {

  private PrintStream out;
  private ConsoleTracker tracker;

  @Before
  public void setUp() {
    out = mock( PrintStream.class );
    System.setOut( out );
    tracker = new ConsoleTracker();
  }

  @Test
  public void testPrintsPageView() {
    TrackingEvent event = new TrackingEvent( EventType.PAGE_VIEW, createInfo(), "foo", 23 );

    tracker.handleEvent( event );

    verify( out ).println( "PAGE_VIEW - foo [appId, model, vendor, osVersion]" );
  }

  @Test
  public void testPrintsAction() {
    TrackingEvent event = new TrackingEvent( EventType.ACTION, createInfo(), "foo", 23 );

    tracker.handleEvent( event );

    verify( out ).println( "ACTION - foo [appId, model, vendor, osVersion]" );
  }

  @Test
  public void testPrintsSearch() {
    TrackingEvent event = new TrackingEvent( EventType.SEARCH, createInfo(), "foo", 23 );

    tracker.handleEvent( event );

    verify( out ).println( "SEARCH - query=query [appId, model, vendor, osVersion]" );
  }

  @Test
  public void testPrintsOrder() {
    Order order = new Order( "foo", BigDecimal.ONE );
    TrackingEvent event = new TrackingEvent( EventType.ORDER, createInfo(), order, 23 );

    tracker.handleEvent( event );

    verify( out ).println( "ORDER - " + order.getOrderId() + " (1, 0, 0) [appId, model, vendor, osVersion]" );
  }

  @Test
  public void testPrintsEvent() {
    TrackingEvent event = new TrackingEvent( EventType.EVENT, createInfo(), "foo", 23 );

    tracker.handleEvent( event );

    verify( out ).println( "EVENT - foo [appId, model, vendor, osVersion]" );
  }

  private TrackingInfo createInfo() {
    TrackingInfo info = new TrackingInfo();
    info.setAppId( "appId" );
    info.setDeviceOsVersion( "osVersion" );
    info.setDeviceVendor( "vendor" );
    info.setDeviceModel( "model" );
    info.setSearchQuery( "query" );
    return info;
  }
}
TOP

Related Classes of com.eclipsesource.tabris.tracking.tracker.ConsoleTrackerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.