/**
  * @param string $gridName
  * @param array  $parameters
  * @param array  $select
  * @param string $groupBy
  * @param string $expected
  *
  * @dataProvider preBuildDataProvider
  */
 public function testOnPreBuild($gridName, array $parameters, array $select, $groupBy, $expected)
 {
     $config = DatagridConfiguration::create(['name' => $gridName, 'source' => ['query' => ['select' => $select, 'groupBy' => $groupBy]]]);
     $event = new PreBuild($config, new ParameterBag($parameters));
     $this->segmentHelper->expects($this->any())->method('getSegmentIdByGridName')->with($this->equalTo($gridName))->will($this->returnValue(true));
     $this->segmentHelper->expects($this->any())->method('getMarketingListBySegment')->with($this->equalTo(true))->will($this->returnValue(new \stdClass()));
     $this->listener->onPreBuild($event);
     $this->assertEquals($expected, $config->offsetGetByPath(CampaignStatisticDatagridListener::PATH_GROUPBY));
 }
 public function testOnPreBuildNotApplicable()
 {
     $gridName = ConfigurationProvider::GRID_PREFIX;
     $config = DatagridConfiguration::create([]);
     $event = new PreBuild($config, new ParameterBag([]));
     $this->marketingListHelper->expects($this->any())->method('getMarketingListIdByGridName')->with($this->equalTo($gridName));
     $this->registry->expects($this->never())->method('getRepository');
     $this->listener->onPreBuild($event);
 }