Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
asPublicEmail example
public
function
testSubject
(
)
{
$email
=
(
new
NotificationEmail
(
)
)
->
from
(
'
[email protected]
'
)
->
subject
(
'Foo'
)
;
$headers
=
$email
->
getPreparedHeaders
(
)
;
$this
->
assertSame
(
'[LOW] Foo',
$headers
->
get
(
'Subject'
)
->
getValue
(
)
)
;
}
public
function
testPublicMail
(
)
{
$email
= NotificationEmail::
asPublicEmail
(
)
->
markdown
(
'Foo'
)
->
action
(
'Bar', 'http://example.com/'
)
->
context
(
[
'a' => 'b'
]
)
;
$this
->
assertEquals
(
[
'importance' => null,
'content' => 'Foo',
'exception' => false,
'action_text' => 'Bar',
'action_url' => 'http://example.com/',
parent::
__construct
(
$subject
,
$channels
)
;
$this
->loginLinkDetails =
$loginLinkDetails
;
}
public
function
asEmailMessage
(
EmailRecipientInterface
$recipient
, string
$transport
= null
)
: ?EmailMessage
{
if
(
!
class_exists
(
NotificationEmail::
class
)
)
{
throw
new
\
LogicException
(
sprintf
(
'The "%s" method requires "symfony/twig-bridge:>4.4".', __METHOD__
)
)
;
}
$email
= NotificationEmail::
asPublicEmail
(
)
->
to
(
$recipient
->
getEmail
(
)
)
->
subject
(
$this
->
getSubject
(
)
)
->
content
(
$this
->
getContent
(
)
?:
$this
->
getDefaultContent
(
'button below'
)
)
->
action
(
'Sign in',
$this
->loginLinkDetails->
getUrl
(
)
)
;
return
new
EmailMessage
(
$email
)
;
}
public
function
asSmsMessage
(
SmsRecipientInterface
$recipient
, string
$transport
= null
)
: ?SmsMessage
{