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

Public Member Functions

 testSuccessfulCreate ()
 
 testFailCreateWithInvalidDeadlinePeriod ()
 
 testSuccessfulWithDeadlinePeriod ()
 
 testFailWithDeadlinePeriod ()
 
 testToFormInput ()
 

Private Attributes

const VALID_DEADLINE_PERIOD_1 = 11
 
const VALID_DEADLINE_PERIOD_2 = 22
 
const INVALID_DEADLINE_PERIOD = -1
 
const VALID_DEADLINE_DATE = '2019-02-14'
 

Detailed Description

Definition at line 25 of file ilStudyProgrammeDeadlineSettingsTest.php.

Member Function Documentation

◆ testFailCreateWithInvalidDeadlinePeriod()

ilStudyProgrammeDeadlineSettingsTest::testFailCreateWithInvalidDeadlinePeriod ( )

Definition at line 43 of file ilStudyProgrammeDeadlineSettingsTest.php.

43 : void
44 {
45 try {
47 self::INVALID_DEADLINE_PERIOD,
48 new DateTimeImmutable(self::VALID_DEADLINE_DATE)
49 );
50 $this->fail();
51 } catch (InvalidArgumentException $e) {
52 $this->assertTrue(true);
53 }
54 }

References Vendor\Package\$e.

◆ testFailWithDeadlinePeriod()

ilStudyProgrammeDeadlineSettingsTest::testFailWithDeadlinePeriod ( )

Definition at line 69 of file ilStudyProgrammeDeadlineSettingsTest.php.

69 : void
70 {
72 self::VALID_DEADLINE_PERIOD_1,
73 new DateTimeImmutable(self::VALID_DEADLINE_DATE)
74 );
75
76 try {
77 $obj->withDeadlinePeriod(self::INVALID_DEADLINE_PERIOD);
78 $this->fail();
79 } catch (InvalidArgumentException $e) {
80 $this->assertTrue(true);
81 }
82 }

References Vendor\Package\$e.

◆ testSuccessfulCreate()

ilStudyProgrammeDeadlineSettingsTest::testSuccessfulCreate ( )

Definition at line 32 of file ilStudyProgrammeDeadlineSettingsTest.php.

32 : void
33 {
35 self::VALID_DEADLINE_PERIOD_1,
36 new DateTimeImmutable(self::VALID_DEADLINE_DATE)
37 );
38
39 $this->assertEquals(self::VALID_DEADLINE_PERIOD_1, $obj->getDeadlinePeriod());
40 $this->assertEquals(self::VALID_DEADLINE_DATE, $obj->getDeadlineDate()->format('Y-m-d'));
41 }

◆ testSuccessfulWithDeadlinePeriod()

ilStudyProgrammeDeadlineSettingsTest::testSuccessfulWithDeadlinePeriod ( )

Definition at line 56 of file ilStudyProgrammeDeadlineSettingsTest.php.

56 : void
57 {
59 self::VALID_DEADLINE_PERIOD_1,
60 new DateTimeImmutable(self::VALID_DEADLINE_DATE)
61 );
62
63 $new = $obj->withDeadlinePeriod(self::VALID_DEADLINE_PERIOD_2);
64
65 $this->assertEquals(self::VALID_DEADLINE_PERIOD_1, $obj->getDeadlinePeriod());
66 $this->assertEquals(self::VALID_DEADLINE_PERIOD_2, $new->getDeadlinePeriod());
67 }

◆ testToFormInput()

ilStudyProgrammeDeadlineSettingsTest::testToFormInput ( )

Definition at line 84 of file ilStudyProgrammeDeadlineSettingsTest.php.

84 : void
85 {
86 $lng = $this->createMock(ilLanguage::class);
87 $df = new ILIAS\Data\Factory();
89
91 $this->createMock(\ILIAS\UI\Implementation\Component\Input\UploadLimitResolver::class),
92 new ILIAS\UI\Implementation\Component\SignalGenerator(),
93 $df,
95 $lng
96 );
97
99 self::VALID_DEADLINE_PERIOD_1,
100 new DateTimeImmutable(self::VALID_DEADLINE_DATE)
101 );
102
103 $lng->expects($this->atLeastOnce())
104 ->method('txt')
105 ->withConsecutive(
106 ['prg_no_deadline'],
107 ['prg_deadline_period_label'],
108 ['prg_deadline_period_desc'],
109 ['prg_deadline_period'],
110 ['prg_deadline_date_label'],
111 ['prg_deadline_date_desc'],
112 ['prg_deadline_date'],
113 ['prg_deadline_settings']
114 )
115 ->will($this->onConsecutiveCalls(
116 'prg_no_deadline',
117 'prg_deadline_period_label',
118 'prg_deadline_period_desc',
119 'prg_deadline_period',
120 'prg_deadline_date_label',
121 'prg_deadline_date_desc',
122 'prg_deadline_date',
123 'prg_deadline_settings'
124 ))
125 ;
126
127 $field = $obj->toFormInput(
128 $f,
129 $lng,
130 $refinery,
131 $df
132 );
133
134 $switchable_group = $field->getInputs()['prg_deadline'];
135 $this->assertInstanceOf(
136 SwitchableGroup::class,
137 $switchable_group
138 );
139
140 $date_value = $switchable_group->getValue()[1]['deadline_date'];
141 $date = (new DateTimeImmutable($date_value))->format('Y-m-d');
142 $this->assertEquals(self::VALID_DEADLINE_DATE, $date);
143
144 $inputs = $switchable_group->getInputs();
145 foreach ($inputs as $input) {
146 $this->assertInstanceOf(
147 Group::class,
148 $input
149 );
150 }
151 }
Factory for Date Formats.
Definition: Factory.php:27
Builds data types.
Definition: Factory.php:21
Refinery Factory $refinery
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.
$lng

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $lng, and ILIAS\Repository\$refinery.

Field Documentation

◆ INVALID_DEADLINE_PERIOD

const ilStudyProgrammeDeadlineSettingsTest::INVALID_DEADLINE_PERIOD = -1
private

Definition at line 29 of file ilStudyProgrammeDeadlineSettingsTest.php.

◆ VALID_DEADLINE_DATE

const ilStudyProgrammeDeadlineSettingsTest::VALID_DEADLINE_DATE = '2019-02-14'
private

Definition at line 30 of file ilStudyProgrammeDeadlineSettingsTest.php.

◆ VALID_DEADLINE_PERIOD_1

const ilStudyProgrammeDeadlineSettingsTest::VALID_DEADLINE_PERIOD_1 = 11
private

Definition at line 27 of file ilStudyProgrammeDeadlineSettingsTest.php.

◆ VALID_DEADLINE_PERIOD_2

const ilStudyProgrammeDeadlineSettingsTest::VALID_DEADLINE_PERIOD_2 = 22
private

Definition at line 28 of file ilStudyProgrammeDeadlineSettingsTest.php.


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