/**
  * @param array $lifetimes
  * @param array $additionalFilterFields
  * @dataProvider cleanExpiredQuotesDataProvider
  */
 public function testExecute($lifetimes, $additionalFilterFields)
 {
     $this->storesConfigMock->expects($this->once())->method('getStoresConfigByPath')->with($this->equalTo('checkout/cart/delete_quote_after'))->will($this->returnValue($lifetimes));
     $quotesMock = $this->getMockBuilder('Magento\\Quote\\Model\\ResourceModel\\Quote\\Collection')->disableOriginalConstructor()->getMock();
     $this->quoteFactoryMock->expects($this->exactly(count($lifetimes)))->method('create')->will($this->returnValue($quotesMock));
     $quotesMock->expects($this->exactly((3 + count($additionalFilterFields)) * count($lifetimes)))->method('addFieldToFilter');
     if (!empty($lifetimes)) {
         $quotesMock->expects($this->exactly(count($lifetimes)))->method('walk')->with('delete');
     }
     $this->observer->setExpireQuotesAdditionalFilterFields($additionalFilterFields);
     $this->observer->execute();
 }