|
30 | 30 | use Aspose\Tasks\Model\Requests; |
31 | 31 | use PHPUnit\Framework\Assert; |
32 | 32 | use Aspose\Tasks\Model\CalculationMode; |
| 33 | +use Aspose\Tasks\Model; |
33 | 34 |
|
34 | 35 | class AssignmentsTest extends BaseTestContext |
35 | 36 | { |
@@ -131,31 +132,87 @@ public function testGetResourceAssignments() |
131 | 132 | Assert::assertEquals(1, $assignment->getResourceUid()); |
132 | 133 | } |
133 | 134 | } |
134 | | - |
| 135 | + |
135 | 136 | public function testEditAssignment() |
136 | 137 | { |
137 | 138 | $remoteName = "testEditAssignment.mpp"; |
138 | 139 | $folder = $this->uploadTestFile("NewProductDev.mpp", $remoteName, ''); |
139 | | - |
| 140 | + |
140 | 141 | $response = $this->tasks->getAssignment(new Requests\GetAssignmentRequest($remoteName, 63, self::$storageName, $folder)); |
141 | | - |
| 142 | + |
142 | 143 | Assert::assertEquals(200, $response->getCode()); |
143 | 144 | Assert::assertNotNull($response->getAssignment()); |
144 | 145 | Assert::assertEquals(34, $response->getAssignment()->getTaskUid()); |
145 | | - |
| 146 | + |
146 | 147 | $assignment = $response->getAssignment(); |
147 | 148 | $assignment->setTaskUid(0); |
148 | | - |
| 149 | + |
149 | 150 | $putResponse = $this->tasks->putAssignment(new Requests\PutAssignmentRequest($remoteName, 63, $assignment, CalculationMode::AUTOMATIC, true, self::$storageName, $folder, null)); |
150 | | - |
| 151 | + |
151 | 152 | Assert::assertEquals(200, $putResponse->getCode()); |
152 | | - |
| 153 | + |
153 | 154 | $response = $this->tasks->getAssignment(new Requests\GetAssignmentRequest($remoteName, 63, self::$storageName, $folder)); |
154 | | - |
| 155 | + |
155 | 156 | Assert::assertEquals(200, $response->getCode()); |
156 | 157 | Assert::assertNotNull($response->getAssignment()); |
157 | 158 | Assert::assertEquals(0, $response->getAssignment()->getTaskUid()); |
158 | 159 | } |
| 160 | + |
| 161 | + public function testEditAssignmentWithTimephasedDataAndBaselines() |
| 162 | + { |
| 163 | + $remoteName = "testEditAssignmentWithTimephasedDataAndBaselines.mpp"; |
| 164 | + $folder = $this->uploadTestFile("sample.mpp", $remoteName, ''); |
| 165 | + |
| 166 | + $response = $this->tasks->getAssignment(new Requests\GetAssignmentRequest($remoteName, 1, self::$storageName, $folder)); |
| 167 | + |
| 168 | + Assert::assertEquals(200, $response->getCode()); |
| 169 | + $assignment = $response->getAssignment(); |
| 170 | + $assignment->setCost(100); |
| 171 | + $assignment->setStart(new DateTime("2001-10-10T00:00:00")); |
| 172 | + $assignment->setFinish(new DateTime("2002-10-10T00:00:00")); |
| 173 | + $assignmentBaseline = new Model\AssignmentBaseline(); |
| 174 | + $assignmentBaseline->setStart(new DateTime("2002-10-10T00:00:00")); |
| 175 | + $assignment->setBaselines(array($assignmentBaseline)); |
| 176 | + $assignment->setActualWork("10:10:10"); |
| 177 | + $assignment->setActualCost(100); |
| 178 | + $assignment->setActualStart(new DateTime("2001-10-10T00:00:00")); |
| 179 | + $assignment->setActualFinish(new DateTime("2002-10-10T00:00:00")); |
| 180 | + $assignment->setActualOvertimeWork("100:10:10"); |
| 181 | + $assignment->setWork("80:0:0"); |
| 182 | + $assignment->setUid(1); |
| 183 | + $assignment->setVac(10); |
| 184 | + $assignment->setWorkContour(Model\WorkContourType::CONTOURED); |
| 185 | + $timephasedData = new Model\TimephasedData(); |
| 186 | + $timephasedData->setUid($assignment->getUid()); |
| 187 | + $timephasedData->setStart(new DateTime("2001-10-10T09:00:00")); |
| 188 | + $timephasedData->setFinish(new DateTime("2001-10-10T14:00:00")); |
| 189 | + $timephasedData->setUnit(Model\TimeUnitType::HOUR); |
| 190 | + $timephasedData->setValue("4:0:0"); |
| 191 | + $timephasedData->setTimephasedDataType(Model\TimephasedDataType::ASSIGNMENT_REMAINING_WORK); |
| 192 | + $assignment->setTimephasedData(array($timephasedData)); |
| 193 | + |
| 194 | + $putResponse = $this->tasks->putAssignment(new Requests\PutAssignmentRequest($remoteName, 1, $assignment, CalculationMode::NONE, false, self::$storageName, $folder, null)); |
| 195 | + |
| 196 | + Assert::assertEquals(200, $putResponse->getCode()); |
| 197 | + Assert::assertEquals($assignment->getUid(), $putResponse->getAssignment()->getUid()); |
| 198 | + Assert::assertEquals($assignment->getVac(), $putResponse->getAssignment()->getVac()); |
| 199 | + Assert::assertEquals($assignment->getCost(), $putResponse->getAssignment()->getCost()); |
| 200 | + Assert::assertEquals($assignment->getStart(), $putResponse->getAssignment()->getStart()); |
| 201 | + Assert::assertEquals($assignment->getFinish(), $putResponse->getAssignment()->getFinish()); |
| 202 | + Assert::assertEquals("80.00:00:00", $putResponse->getAssignment()->getWork()); |
| 203 | + Assert::assertEquals($assignment->getActualWork(), $putResponse->getAssignment()->getActualWork()); |
| 204 | + Assert::assertEquals($assignment->getActualStart(), $putResponse->getAssignment()->getActualStart()); |
| 205 | + Assert::assertEquals($assignment->getActualFinish(), $putResponse->getAssignment()->getActualFinish()); |
| 206 | + Assert::assertEquals("100.10:10:00", $putResponse->getAssignment()->getActualOvertimeWork()); |
| 207 | + Assert::assertEquals(1, count($putResponse->getAssignment()->getBaselines())); |
| 208 | + Assert::assertEquals($assignmentBaseline->getStart(), $putResponse->getAssignment()->getBaselines()[0]->getStart()); |
| 209 | + Assert::assertEquals(1, count($putResponse->getAssignment()->getTimephasedData())); |
| 210 | + Assert::assertEquals($timephasedData->getUid(), $putResponse->getAssignment()->getTimephasedData()[0]->getUid()); |
| 211 | + Assert::assertEquals("PT4H0M0S", $putResponse->getAssignment()->getTimephasedData()[0]->getValue()); |
| 212 | + Assert::assertEquals($timephasedData->getStart(), $putResponse->getAssignment()->getTimephasedData()[0]->getStart()); |
| 213 | + Assert::assertEquals($timephasedData->getFinish(), $putResponse->getAssignment()->getTimephasedData()[0]->getFinish()); |
| 214 | + Assert::assertEquals($timephasedData->getTimephasedDataType(), $putResponse->getAssignment()->getTimephasedData()[0]->getTimephasedDataType()); |
| 215 | + } |
159 | 216 |
|
160 | 217 |
|
161 | 218 | public function testDeleteAssignment() |
|
0 commit comments