/**
  * @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
  * @expectedException \Magento\Framework\Exception\InputException
  * @expectedExceptionMessage Updating classType is not allowed.
  */
 public function testSaveThrowsExceptionIfTargetTaxClassHasDifferentClassType()
 {
     $taxClassName = 'New Class Name';
     $taxClassDataObject = $this->taxClassFactory->create();
     $taxClassDataObject->setClassName($taxClassName)->setClassType(TaxClassModel::TAX_CLASS_TYPE_CUSTOMER);
     $taxClassId = $this->taxClassRepository->save($taxClassDataObject);
     $this->assertEquals($taxClassName, $this->taxClassModel->load($taxClassId)->getClassName());
     $updatedTaxClassName = 'Updated Class Name';
     $taxClassDataObject = $this->taxClassFactory->create();
     $taxClassDataObject->setClassName($updatedTaxClassName)->setClassId($taxClassId)->setClassType(TaxClassModel::TAX_CLASS_TYPE_PRODUCT);
     $this->taxClassRepository->save($taxClassDataObject);
 }