HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/farmfun.komma.pro/app/Komma/Shop/Tests/Browser/SiteMultiLanguageTest.php
<?php

namespace App\Komma\Shop\Tests\Browser;

use App\Komma\Globalization\Languages\Models\Language;
use App\Komma\Shop\Orders\Models\Order;
use App\Komma\Sites\Kms\SiteService;
use App\Komma\Sites\Models\Site;
use App\Komma\Sites\SiteServiceInterface;
use App\Komma\Users\Models\SiteUser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;

class SiteMultiLanguageTest extends DuskTestCase
{
    /**
     * Tests the shopping carts localisation
     *
     * @test
     * @group SiteMultiLanguageShop
     * @throws \Throwable
     */
    public function testMultiLingualShoppingCart()
    {
        $languages = $this->getCurrentLanguages();

        foreach ($languages as $currentLanguage) {
            /** @var $currentLanguage Language */
            \App::setLanguage($currentLanguage);
            $this->assertEquals($currentLanguage, \App::getLanguage());

            $this->browse(function (Browser $browser) {
                $browser->loginAs(SiteUser::first(), 'site')
//                    ->visit($iso2.'/'.route('shoppingcart'))
                    ->visit(localized_route('shoppingcart'))
                    ->assertSee(__('shop/cart.cart'))
                    ->assertSee(strtoupper(__('shop/cart.subtotal')));
            });
        }
    }

    /**
     * @test
     * @group SiteMultiLanguage
     */
    public function testManualOrderActionRequiredMail()
    {
        $languages = $this->getCurrentLanguages();
        foreach ($languages as $currentLanguage) {
            /** @var $currentLanguage Language */
            \App::setLanguage($currentLanguage);
            $this->assertEquals($currentLanguage, \App::getLanguage());

            /** @var Order $order */
            $order = Order::inRandomOrder()->wherehas('customer')->with('customer')->first();
            $route = localized_route('preview.mail.order_manual_action', ['order' => $order]);
            $this->browse(function (Browser $browser) use ($route, $order) {
                $browser->visit($route)
                    ->assertSee(__('shop/orders.mail.manual_action.staff.body', ['order_number' => $order->order_number]))
                    ->assertSee(__('shop/orders.mail.manual_action.staff.button_text'))
                    ->assertSee(__('shop/orders.mail.manual_action.staff.closure'));
            });
        }
    }

    /**
     * Helper functiomn
     */
    private function getCurrentLanguages()
    {
        /** @var SiteService $siteService */
        $siteService = app(SiteServiceInterface::class);

        /** @var Site $site */
        $siteService->setCurrentSiteToDefault();
        $site = $siteService->getCurrentSite();

        return $site->languages;
    }
}