You are here

commerce_reports_patterns.test in Commerce Reporting 7.3

Same filename and directory in other branches
  1. 7.4 modules/patterns/tests/commerce_reports_patterns.test

File

modules/patterns/tests/commerce_reports_patterns.test
View source
<?php

class CommerceReportsPatternsTestCase extends CommerceBaseTestCase {
  public static function getInfo() {
    return array(
      'name' => 'Reports patterns',
      'description' => 'Test association rule mining implementation.',
      'group' => 'Drupal Commerce',
    );
  }
  function setUp() {
    $modules = parent::setUpHelper('all', array(
      'commerce_reports_patterns',
    ));
    parent::setUp($modules);
  }
  protected function createPatternsAdmin() {
    $permissions = $this
      ->permissionBuilder('store admin');
    $permissions[] = 'access commerce reports patterns';
    $user = $this
      ->drupalCreateUser($permissions);
    return $user;
  }
  protected function addTransaction() {
    $products = func_get_args();
    $order = commerce_cart_order_new(1);
    $order_wrapper = entity_metadata_wrapper('commerce_order', $order);
    $line_items = array();
    foreach ($products as $product) {
      $line_item = commerce_product_line_item_new($product, 1);
      $line_item->order_id = $order->order_id;
      commerce_line_item_save($line_item);
      $order_wrapper->commerce_line_items[] = $line_item;
    }
    commerce_order_status_update($order, 'completed', TRUE);
    commerce_order_save($order);
    return $order;
  }
  public function testExample() {
    $milk = $this
      ->createDummyProduct('milk');
    $bread = $this
      ->createDummyProduct('bread');
    $butter = $this
      ->createDummyProduct('butter');
    $beer = $this
      ->createDummyProduct('beer');
    $this
      ->addTransaction($milk, $bread);
    $this
      ->addTransaction($butter);
    $this
      ->addTransaction($beer);
    $this
      ->addTransaction($milk, $bread, $butter);
    $this
      ->addTransaction($bread);
    $admin = $this
      ->createPatternsAdmin();
    $this
      ->drupalLogin($admin);
    $this
      ->drupalPost('admin/commerce/reports/patterns', array(
      'min_support' => '10',
      'min_confidence' => '10',
    ), t('Generate'));
  }

}