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;
}
}