def test_invalid_submission(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = 'ATU66688999' submission = {'basket': basket, 'shipping_address': address} expected_rate = D('0.20') with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission) address.vatin = 'ATU66688202' address.line1 = 'hastexo' with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission) address.vatin = '' address.line1 = 'hastexo Professional Services GmbH' address.phone_number = '+49 9 999 9999' with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission)
def test_invalid_submission(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = 'ATU66688999' submission = { 'basket': basket, 'shipping_address': address } expected_rate = D('0.20') with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission) address.vatin = 'ATU66688202' address.line1 = 'hastexo' with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission) address.vatin = '' address.line1 = 'hastexo Professional Services GmbH' address.phone_number = '+49 9 999 9999' with self.assertRaises(vat.VATAssessmentException): result_rate = vat.lookup_vat_for_submission(submission)
def test_valid_submission_reverse_charge(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = { 'basket': basket, 'shipping_address': address } result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) # We're pretending we're a store in Germany. Then we can do # reverse charge. address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.00')) # However, if we're using an empty VATIN, the regular VAT # rate applies again. address.vatin = '' address.line1 = 'HASTEXO PROFESSIONAL SERVICES GMBH' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))
def test_valid_submission_reverse_charge(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = {'basket': basket, 'shipping_address': address} result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) # We're pretending we're a store in Germany. Then we can do # reverse charge. address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.00')) # However, if we're using an empty VATIN, the regular VAT # rate applies again. address.vatin = '' address.line1 = 'HASTEXO PROFESSIONAL SERVICES GMBH' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))
def test_valid_submission(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = { 'basket': basket, 'shipping_address': address } result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.00')) address.vatin = '' address.line1 = 'HASTEXO PROFESSIONAL SERVICES GMBH' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))
def test_valid_submission_no_reverse_charge(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = {'basket': basket, 'shipping_address': address} result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) # Do they have a VATIN? Doesn't matter if they're in the same # country as the store; VAT still applies. address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))
def test_valid_submission(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = {'basket': basket, 'shipping_address': address} result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.00')) address.vatin = '' address.line1 = 'HASTEXO PROFESSIONAL SERVICES GMBH' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))
def test_valid_submission_no_reverse_charge(self): basket = Mock() address = Mock() address.country = Mock() address.country.code = 'AT' address.line4 = 'Vienna' address.postcode = '1010' address.phone_number = '+43 1 234 5678' address.line1 = 'hastexo Professional Services GmbH' address.vatin = '' submission = { 'basket': basket, 'shipping_address': address } result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20')) # Do they have a VATIN? Doesn't matter if they're in the same # country as the store; VAT still applies. address.vatin = 'ATU66688202' result_rate = vat.lookup_vat_for_submission(submission) self.assertEqual(result_rate, D('0.20'))