ILIAS  release_8 Revision v8.24
ilMailMimeSubjectBuilderTest Class Reference
+ Inheritance diagram for ilMailMimeSubjectBuilderTest:
+ Collaboration diagram for ilMailMimeSubjectBuilderTest:

Public Member Functions

 globalSubjectPrefixOnlyProvider ()
 
 subjectPrefixesProvider ()
 
 testSubjectMustNotBeChangedWhenNoPrefixShouldBeAdded ()
 
 testGlobalPrefixMustBePrependedWhenDefinedAndPrefixShouldBeAppended (string $globalPrefix, string $expectedSubject)
 @dataProvider globalSubjectPrefixOnlyProvider More...
 
 testDefaultPrefixMustBePrependedWhenNoGlobalPrefixIsDefinedAndPrefixShouldBeAppended ()
 
 testContextPrefixMustBePrependedWhenGivenAndPrefixShouldBeAppended (?string $globalPrefix, string $contextPrefix, string $expectedSubject)
 @dataProvider subjectPrefixesProvider More...
 

Private Attributes

const DEFAULT_PREFIX = 'docu default'
 

Additional Inherited Members

- Protected Member Functions inherited from ilMailBaseTest
 brutallyTrimHTML (string $html)
 
 setUp ()
 
 tearDown ()
 
 setGlobalVariable (string $name, $value)
 

Detailed Description

Author
Michael Jansen mjans.nosp@m.en@d.nosp@m.ataba.nosp@m.y.de

Definition at line 24 of file ilMailMimeSubjectBuilderTest.php.

Member Function Documentation

◆ globalSubjectPrefixOnlyProvider()

ilMailMimeSubjectBuilderTest::globalSubjectPrefixOnlyProvider ( )
Returns
array<string, array<int, string>>

Definition at line 31 of file ilMailMimeSubjectBuilderTest.php.

31 : array
32 {
33 return [
34 'Global Prefix without Brackets' => ['docu', 'docu %s'],
35 'Global Prefix with Brackets' => ['[docu]', '[docu] %s'],
36 ];
37 }

◆ subjectPrefixesProvider()

ilMailMimeSubjectBuilderTest::subjectPrefixesProvider ( )
Returns
array<string, array<int, string|null>>

Definition at line 42 of file ilMailMimeSubjectBuilderTest.php.

42 : array
43 {
44 return [
45 'Global Prefix without Brackets and Additional Context Prefix' => ['docu', 'Course', '[docu : Course] %s'],
46 'Global Prefix with Brackets and Additional Context Prefix' => ['[docu]', 'Course', '[docu : Course] %s'],
47 'Empty Global Prefix with Brackets and Additional Context Prefix' => [
48 '', // The administrator saved the global email settings form with an empty global subject prefix
49 'Course',
50 '[Course] %s',
51 ],
52 'Absent Global Prefix with Brackets and Additional Context Prefix' => [
53 null, // The administrator did not save the global email settings form, yet
54 'Course',
55 '[' . self::DEFAULT_PREFIX . ' : Course] %s',
56 ],
57 ];
58 }

◆ testContextPrefixMustBePrependedWhenGivenAndPrefixShouldBeAppended()

ilMailMimeSubjectBuilderTest::testContextPrefixMustBePrependedWhenGivenAndPrefixShouldBeAppended ( ?string  $globalPrefix,
string  $contextPrefix,
string  $expectedSubject 
)

@dataProvider subjectPrefixesProvider

Definition at line 104 of file ilMailMimeSubjectBuilderTest.php.

108 : void {
109 $settings = $this->getMockBuilder(ilSetting::class)->onlyMethods(['get'])->disableOriginalConstructor()->getMock();
110 $settings->expects($this->once())->method('get')->with('mail_subject_prefix')->willReturn($globalPrefix);
111
112 $subjectBuilder = new ilMailMimeSubjectBuilder($settings, self::DEFAULT_PREFIX);
113
114 $subject = 'phpunit';
115 $expectedSubject = sprintf($expectedSubject, $subject);
116 $this->assertSame($expectedSubject, $subjectBuilder->subject($subject, true, $contextPrefix));
117 }
Class ilMailMimeSubjectBuilder.
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200

◆ testDefaultPrefixMustBePrependedWhenNoGlobalPrefixIsDefinedAndPrefixShouldBeAppended()

ilMailMimeSubjectBuilderTest::testDefaultPrefixMustBePrependedWhenNoGlobalPrefixIsDefinedAndPrefixShouldBeAppended ( )

Definition at line 87 of file ilMailMimeSubjectBuilderTest.php.

87 : void
88 {
89 $settings = $this->getMockBuilder(ilSetting::class)->onlyMethods(['get'])->disableOriginalConstructor()->getMock();
90 $settings->expects($this->once())->method('get')->with('mail_subject_prefix')->willReturn(
91 null
92 );
93
94 $subjectBuilder = new ilMailMimeSubjectBuilder($settings, self::DEFAULT_PREFIX);
95
96 $subject = 'phpunit';
97 $expectedSubject = self::DEFAULT_PREFIX . ' ' . $subject;
98 $this->assertSame($expectedSubject, $subjectBuilder->subject($subject, true));
99 }

References ILIAS\LTI\ToolProvider\$settings.

◆ testGlobalPrefixMustBePrependedWhenDefinedAndPrefixShouldBeAppended()

ilMailMimeSubjectBuilderTest::testGlobalPrefixMustBePrependedWhenDefinedAndPrefixShouldBeAppended ( string  $globalPrefix,
string  $expectedSubject 
)

@dataProvider globalSubjectPrefixOnlyProvider

Definition at line 73 of file ilMailMimeSubjectBuilderTest.php.

76 : void {
77 $settings = $this->getMockBuilder(ilSetting::class)->onlyMethods(['get'])->disableOriginalConstructor()->getMock();
78 $settings->expects($this->once())->method('get')->with('mail_subject_prefix')->willReturn($globalPrefix);
79
80 $subjectBuilder = new ilMailMimeSubjectBuilder($settings, self::DEFAULT_PREFIX);
81
82 $subject = 'phpunit';
83 $expectedSubject = sprintf($expectedSubject, $subject);
84 $this->assertSame($expectedSubject, $subjectBuilder->subject($subject, true));
85 }

◆ testSubjectMustNotBeChangedWhenNoPrefixShouldBeAdded()

ilMailMimeSubjectBuilderTest::testSubjectMustNotBeChangedWhenNoPrefixShouldBeAdded ( )

Definition at line 60 of file ilMailMimeSubjectBuilderTest.php.

60 : void
61 {
62 $settings = $this->getMockBuilder(ilSetting::class)->onlyMethods(['get'])->disableOriginalConstructor()->getMock();
63 $subjectBuilder = new ilMailMimeSubjectBuilder($settings, self::DEFAULT_PREFIX);
64
65 $subject = 'phpunit';
66 $this->assertSame($subject, $subjectBuilder->subject($subject));
67 $this->assertSame($subject, $subjectBuilder->subject($subject, false, 'Course'));
68 }

References ILIAS\LTI\ToolProvider\$settings.

Field Documentation

◆ DEFAULT_PREFIX

const ilMailMimeSubjectBuilderTest::DEFAULT_PREFIX = 'docu default'
private

Definition at line 26 of file ilMailMimeSubjectBuilderTest.php.


The documentation for this class was generated from the following file: