Ошибка `No expectations were specified` возникает, когда Mockery вызывает метод на моке, но для этого вызова не настроено ожидание. Это происходит, потому что вы не указали, что именно должен возвращать метод `factory`. 
Метод `factory` должен возвращать объект транзакции, который передаётся в `doTransaction`. Из кода видно, что вы используете `$this->tm->doTransaction($transaction)`, где `$transaction` — результат вызова `factory`. Значит, вам нужно создать мок для транзакции и вернуть его.
Пример исправления:
// Создаём мок объекта транзакции
$transaction = Mockery::mock(TransactionInterface::class); // Или конкретный класс транзакции, если он известен
// Настраиваем ожидания для factory
$this->insertOnDuplicateKeyUpdateTransactionFactory->shouldReceive('factory')
    ->once()
    ->with(
        ProductQueue::class,
        $trData,
        [ProductQueue::TABLE_COLUMN_MPN_PRODUCT_ID]
    )
    ->andReturn($transaction); // Возвращаем мок транзакции
// Настраиваем вызов метода doTransaction с этим объектом
$this->tm->shouldReceive('doTransaction')
    ->once()
    ->with($transaction)
    ->andReturnNull(); // Или результат метода doTransaction, если он возвращает что-то
Теперь тест корректно проверяет вызовы `factory` и `doTransaction`.