<?php

declare(strict_types=1);

namespace Autogedal\Extend\Plugin;

use Magento\Quote\Api\Data\AddressInterface;
use Magento\Quote\Api\Data\CartInterface;
use Magento\Quote\Model\QuoteAddressValidator;

class CartValidateFix
{
    /**
     * @param QuoteAddressValidator $subject
     * @param CartInterface $cart
     * @param AddressInterface $address
     *
     * @return array
     */
    public function beforeValidateForCart(QuoteAddressValidator $subject, CartInterface $cart, AddressInterface $address): array
    {
        if ($cart->getCustomerIsGuest() && $cart->getCustomerId()) {
            $cart->setCustomerIsGuest(false);
        }
        return [$cart, $address];
    }
}