ILIAS  trunk Revision v11.0_alpha-1843-g9e1fad99175
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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\UploadLimitResolver::class),
92  new ILIAS\UI\Implementation\Component\SignalGenerator(),
93  $df,
94  $refinery,
95  $lng
96  );
97 
99  self::VALID_DEADLINE_PERIOD_1,
100  new DateTimeImmutable(self::VALID_DEADLINE_DATE)
101  );
102 
103  $lng_consecutive_calls = [];
104  $lng->expects($this->atLeastOnce())
105  ->method('txt')
106  ->willReturnCallback(
107  function ($txt) use (&$lng_consecutive_calls) {
108  $lng_consecutive_calls[] = $txt;
109  return $txt;
110  }
111  );
112 
113  $expected_consecutive_calls = [
114  'prg_no_deadline',
115  'prg_deadline_period_label',
116  'prg_deadline_period_desc',
117  'prg_deadline_period',
118  'prg_deadline_date_label',
119  'prg_deadline_date_desc',
120  'prg_deadline_date',
121  'prg_deadline_settings'
122  ];
123 
124  $field = $obj->toFormInput(
125  $f,
126  $lng,
127  $refinery,
128  $df
129  );
130 
131  $this->assertEquals($expected_consecutive_calls, $lng_consecutive_calls);
132 
133  $switchable_group = $field->getInputs()['prg_deadline'];
134  $this->assertInstanceOf(
135  SwitchableGroup::class,
136  $switchable_group
137  );
138 
139  $date_value = $switchable_group->getValue()[1]['deadline_date'];
140  $date = (new DateTimeImmutable($date_value))->format('Y-m-d');
141  $this->assertEquals(self::VALID_DEADLINE_DATE, $date);
142 
143  $inputs = $switchable_group->getInputs();
144  foreach ($inputs as $input) {
145  $this->assertInstanceOf(
146  Group::class,
147  $input
148  );
149  }
150  }
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: