* add test for get_shipping_cost with a basket rate
* add fields to allow us to tie shipping rate to a basket & address
* add test for testing specified address and basket
* add migration for new shipping rate fields
* add missing import
* fix name errors
* add shipping possibilities based on shipping address and basket id
* test basket, shipping address, & basket+shipping address rate assignment
* return correct rates for basket and address rate cases
* rename shipping rate address for clarity (origin/destination)
* send basket modified signal when basket is modified via api endpoints
* test address only rate
* remove basket rates when the basket_modified signal is sent
* show response content on error
* print response content on failure for more tests and include more 200
statuses for put
* getting different status codes back from our endpoints, check success
* clear shipping rates based on destination address when address modified
* allow get params
* return cost and rate options for more cases (test not complete)
* fix mock
* return applicable shipping options and test some combinations
* stub the rate processor interface
* add fk from rate to processor that created it
* set rate basket and destination
* shipping processor instance can apply to more than one country
* run processor get_rates if configured
* let child models handle assignment
* add some initial testing for processor
* rename _get_rates() to process_rates()
* allow disabling the success check
* test country shipping option with processor requires destination
* test that the endpoint calls get_rate on the processor
* test that multiple processors are called once
* add shipping_origin fk to site settings
* add default cache key based on origin, destination, & basket items
* test a trivial rate processor implementation is used
* test cost endpoint returns the processed rate
* pin version requirement
* fix wagtail version
* start vagrant config
* get tox to run
* install nvm for vagrant user
* add instructions to move npm deps off shared folder for speed
* compact into a shell script for ease of use
* add some more examples as temporary documentation
* tests require dev reqs
* clean this up a little
* add migrations for productrequest app to fix test runner
* raise exception on error instead of returning error response
* test exception raised when country and country code specified
* test for destination address does not exist
* test exception when country and country code are not supplied
* set request.site as it is expected
* test get_shipping_cost_kwargs with only country code
* check the basket id and the settings
* value passed for country is supposed to be PK
* test with country specified
* write test so we can test with iso as string of known value
* tes destination is respected
* test with destination and country code
* test shipping_rate_name is set as name
* move models
* rename models.py
* rename to be consistent with rates being plural
* move serializers
* move models
* ignore private vagrant subdir
* move code around to fix circular imports to allow top level imports
* move address serializer import to top level
* ws
* ws