item = new Item(); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testDefault() : void { self::assertEquals(0, $this->item->getId()); self::assertEquals('', $this->item->number); self::assertEquals(0, $this->item->successor); self::assertEquals('', $this->item->info); self::assertEquals(ItemStatus::ACTIVE, $this->item->getStatus()); self::assertEquals([], $this->item->getNotes()); self::assertEquals([], $this->item->getFiles()); self::assertInstanceOf('\Modules\Media\Models\Media', $this->item->getFileByType()); self::assertEquals([], $this->item->getFilesByType()); self::assertEquals([], $this->item->getAttributes()); self::assertInstanceOf('Modules\ItemManagement\Models\ItemL11n', $this->item->getL11n('')); self::assertInstanceOf('phpOMS\Localization\Money', $this->item->salesPrice); self::assertInstanceOf('phpOMS\Localization\Money', $this->item->purchasePrice); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testStatusInputOutput() : void { $this->item->setStatus(ItemStatus::INACTIVE); self::assertEquals(ItemStatus::INACTIVE, $this->item->getStatus()); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testFileInputOutput() : void { $this->item->addFile($temp = new Media()); self::assertCount(1, $this->item->getFiles()); self::assertEquals($temp, $this->item->getFileByType()); self::assertEquals([$temp], $this->item->getFilesByType()); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testNoteInputOutput() : void { $this->item->addNote(new EditorDoc()); self::assertCount(1, $this->item->getNotes()); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testAttributeInputOutput() : void { $this->item->addAttribute(new ItemAttribute()); self::assertCount(1, $this->item->getAttributes()); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testL11nInputOutput() : void { $this->item->addL11n($t = new ItemL11n()); // has by default '' as type self::assertEquals($t, $this->item->getL11n('')); } /** * @covers Modules\ItemManagement\Models\Item * @group module */ public function testSerialize() : void { $this->item->number = '123456'; $this->item->setStatus(ItemStatus::INACTIVE); $this->item->info = 'Test info'; self::assertEquals( [ 'id' => 0, 'number' => '123456', 'status' => ItemStatus::INACTIVE, 'info' => 'Test info', ], $this->item->jsonSerialize() ); } }