render(); foreach (['Visa', 'Mastercard', 'American Express', 'PayPal', 'Apple Pay', 'Google Pay', 'Klarna', 'Amazon Pay', 'Link', 'EPS', 'Bancontact'] as $label) { expect($html)->toContain('title="'.$label.'"'); } expect($html)->toContain('vorkasse.svg') ->and($html)->toContain(__('payment.prepayment_payone')) ->and($html)->toContain('more.svg') ->and($html)->toContain(__('weborder.payment_method_more')) ->and($html)->not->toContain('blik.svg'); }); it('renders all regional payment logos without the more icon when showAll is set', function () { $html = view('web.layouts.includes.payment_logos', ['showAll' => true])->render(); foreach (['BLIK', 'MB WAY', 'Pix', 'Satispay', 'Samsung Pay', 'Kakao Pay', 'Naver Pay', 'PAYCO'] as $label) { expect($html)->toContain('title="'.$label.'"'); } expect($html)->not->toContain('more.svg'); }); it('can render the payment logos partial without vorkasse', function () { $html = view('web.layouts.includes.payment_logos', ['showVorkasse' => false])->render(); expect($html)->not->toContain('vorkasse.svg') ->and($html)->toContain('klarna.svg'); }); it('ships all referenced payment logo assets in public', function () { foreach (['visa', 'mastercard', 'amex', 'paypal', 'applepay', 'googlepay', 'klarna', 'amazonpay', 'link', 'eps', 'bancontact', 'blik', 'mbway', 'pix', 'satispay', 'samsungpay', 'kakaopay', 'naverpay', 'payco', 'vorkasse', 'more'] as $file) { expect(file_exists(public_path('images/payments-assets/'.$file.'.svg'))) ->toBeTrue('missing asset: '.$file.'.svg'); } }); it('has german and english copy for every payment method on the zahlungsarten page', function (string $key) { expect(Lang::has('weborder.'.$key, 'de'))->toBeTrue('missing de key: '.$key) ->and(Lang::has('weborder.'.$key, 'en'))->toBeTrue('missing en key: '.$key); })->with([ 'payment_methods_intro', 'payment_method_creditcard', 'payment_method_creditcard_copy', 'payment_method_paypal', 'payment_method_paypal_copy', 'payment_method_applepay', 'payment_method_applepay_copy', 'payment_method_googlepay', 'payment_method_googlepay_copy', 'payment_method_klarna', 'payment_method_klarna_copy', 'payment_method_amazonpay', 'payment_method_amazonpay_copy', 'payment_method_link', 'payment_method_link_copy', 'payment_method_eps', 'payment_method_eps_copy', 'payment_method_bancontact', 'payment_method_bancontact_copy', 'payment_method_more', 'payment_method_more_copy', 'payment_method_prepayment', 'payment_method_prepayment_copy', ]); it('labels vorkasse with payone on the zahlungsarten page', function () { expect(__('weborder.payment_method_prepayment', [], 'de'))->toBe('Vorkasse (PAYONE)'); });