CommerceGuys\Tax\Tests\Resolver\DefaultTaxTypeResolverTest::testResolver PHP Method

testResolver() public method

public testResolver ( $resolver )
    public function testResolver($resolver)
    {
        $taxable = $this->getMockBuilder('CommerceGuys\\Tax\\TaxableInterface')->getMock();
        $serbianAddress = $this->getMockBuilder('CommerceGuys\\Addressing\\Address')->getMock();
        $serbianAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('RS'));
        $montenegrinAddress = $this->getMockBuilder('CommerceGuys\\Addressing\\Address')->getMock();
        $montenegrinAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('ME'));
        // Serbian store, Serbian customer.
        $context = $this->getContext($serbianAddress, $serbianAddress);
        $results = $resolver->resolve($taxable, $context);
        $result = reset($results);
        $this->assertInstanceOf('CommerceGuys\\Tax\\Model\\TaxType', $result);
        $this->assertEquals('rs_vat', $result->getId());
        // Serbian store, Montenegrin customer, store registered for VAT in ME.
        $context = $this->getContext($montenegrinAddress, $serbianAddress, ['ME']);
        $results = $resolver->resolve($taxable, $context);
        $result = reset($results);
        $this->assertInstanceOf('CommerceGuys\\Tax\\Model\\TaxType', $result);
        $this->assertEquals('me_vat', $result->getId());
        // Serbian store, Montenegrin customer, store not registered in ME.
        $context = $this->getContext($montenegrinAddress, $serbianAddress);
        $result = $resolver->resolve($taxable, $context);
        $this->assertEquals([], $result);
    }