ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
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.

References Vendor\Package\$e.

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  }

◆ testFailWithDeadlinePeriod()

ilStudyProgrammeDeadlineSettingsTest::testFailWithDeadlinePeriod ( )

Definition at line 69 of file ilStudyProgrammeDeadlineSettingsTest.php.

References Vendor\Package\$e.

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  }

◆ 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.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $lng, ILIAS\UI\examples\Layout\Page\Standard\$refinery, and $txt.

84  : void
85  {
86  $lng = $this->createMock(ilLanguage::class);
87  $df = new ILIAS\Data\Factory();
89 
91  $this->createMock(\ILIAS\UI\Implementation\Component\Input\Field\Node\Factory::class),
92  $this->createMock(\ILIAS\UI\Implementation\Component\Input\UploadLimitResolver::class),
93  new ILIAS\UI\Implementation\Component\SignalGenerator(),
94  $df,
95  $refinery,
96  $lng
97  );
98 
100  self::VALID_DEADLINE_PERIOD_1,
101  new DateTimeImmutable(self::VALID_DEADLINE_DATE)
102  );
103 
104  $lng_consecutive_calls = [];
105  $lng->expects($this->atLeastOnce())
106  ->method('txt')
107  ->willReturnCallback(
108  function ($txt) use (&$lng_consecutive_calls) {
109  $lng_consecutive_calls[] = $txt;
110  return $txt;
111  }
112  );
113 
114  $expected_consecutive_calls = [
115  'prg_no_deadline',
116  'prg_deadline_period_label',
117  'prg_deadline_period_desc',
118  'prg_deadline_period',
119  'prg_deadline_date_label',
120  'prg_deadline_date_desc',
121  'prg_deadline_date',
122  'prg_deadline_settings'
123  ];
124 
125  $field = $obj->toFormInput(
126  $f,
127  $lng,
128  $refinery,
129  $df
130  );
131 
132  $this->assertEquals($expected_consecutive_calls, $lng_consecutive_calls);
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  }
Interface Observer Contains several chained tasks and infos about them.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$txt
Definition: error.php:31
global $lng
Definition: privfeed.php:31

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: