/** * @magentoDbIsolation enabled * @expectedException \Magento\Framework\Exception\InputException * @expectedExceptionMessage Updating classType is not allowed. */ public function testUpdateTaxClassWithChangingClassType() { $taxClassName = 'New Class Name'; $taxClassDataObject = $this->taxClassBuilder->setClassName($taxClassName)->setClassType(TaxClassModel::TAX_CLASS_TYPE_CUSTOMER)->create(); $taxClassId = $this->taxClassService->createTaxClass($taxClassDataObject); $this->assertEquals($taxClassName, $this->taxClassModel->load($taxClassId)->getClassName()); $updatedTaxClassName = 'Updated Class Name'; $taxClassDataObject = $this->taxClassBuilder->setClassName($updatedTaxClassName)->setClassType(TaxClassModel::TAX_CLASS_TYPE_PRODUCT)->create(); $this->taxClassService->updateTaxClass($taxClassId, $taxClassDataObject); }
/** * @magentoDbIsolation enabled */ public function testGetTaxClassId() { $taxClassName = 'Get Me'; $taxClassDataObject = $this->taxClassBuilder->setClassName($taxClassName)->setClassType(TaxClassServiceInterface::TYPE_CUSTOMER)->create(); $taxClassId = $this->taxClassService->createTaxClass($taxClassDataObject); /** @var \Magento\Tax\Service\V1\Data\TaxClassKeyBuilder $taxClassKeyBuilder */ $taxClassKeyBuilder = $this->objectManager->create('Magento\\Tax\\Service\\V1\\Data\\TaxClassKeyBuilder'); $taxClassKeyTypeId = $taxClassKeyBuilder->populateWithArray([TaxClassKey::KEY_TYPE => TaxClassKey::TYPE_ID, TaxClassKey::KEY_VALUE => $taxClassId])->create(); $this->assertEquals($taxClassId, $this->taxClassService->getTaxClassId($taxClassKeyTypeId, TaxClassServiceInterface::TYPE_CUSTOMER)); $taxClassKeyTypeName = $taxClassKeyBuilder->populateWithArray([TaxClassKey::KEY_TYPE => TaxClassKey::TYPE_NAME, TaxClassKey::KEY_VALUE => $taxClassName])->create(); $this->assertEquals($taxClassId, $this->taxClassService->getTaxClassId($taxClassKeyTypeId, TaxClassServiceInterface::TYPE_CUSTOMER)); $this->assertNull($this->taxClassService->getTaxClassId(null)); $this->assertEquals(null, $this->taxClassService->getTaxClassId($taxClassKeyTypeName, TaxClassServiceInterface::TYPE_PRODUCT)); }
public function testCreateTaxClassInvalidData() { $taxClassSample = $this->taxClassBuilder->create(); $this->taxClassModelMock->expects($this->never())->method('save'); $this->taxClassModelMock->expects($this->never())->method('getId'); //Make sure that the conversion is avoided in case of data validation $this->converterMock->expects($this->never())->method('createTaxClassModel'); try { $this->taxClassService->createTaxClass($taxClassSample); } catch (InputException $e) { $errors = $e->getErrors(); $this->assertEquals('class_name is a required field.', $errors[0]->getMessage()); $this->assertEquals('class_type is a required field.', $errors[1]->getMessage()); } }