/**
  * @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);
 }
Example #2
0
 /**
  * @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));
 }
Example #3
0
 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());
     }
 }