Wykres commitów

12 Commity (172ec09a859e9092a6144a8235490aefbf38a4cb)

Autor SHA1 Wiadomość Data
thenewguy 85e4cfed61 Issue 219 calculated rates base class (#230)
* 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
2019-11-06 13:46:07 +01:00
James Ramm 8ff51b9274
Longclaw 1.0 (#205)
* Compatibility with Wagtail 2 and Django 2
* Fixes #154 

Wagtail 2 compatibility:

* Fixes references to Wagtail packages which use the `wagtail.wagtail*` naming scheme. Wagtail 2 removes the redundancy.
* Wraps imports in `try`/`except` blocks to maintain compatibility with Wagtail 1.

Django 2 comaptibility:

Included because Wagtail 2 adds support for Django 2.

* Adds `on_delete` to all `ForeignKey` model fields, which is now required by Django 2.

* Updates for wagtail 2

* rename modules

* Longclaw v2: Rename and new migrations

* Longclaw 2: Reduce fails to 2 errors

* Longclaw v2: All tests passing

* Update travisconf

* Travis: Enable py37

* Update project template for v2

* longclawv2: update project template

* Fix migrations for longclaw 2

* Corrections in project template for longclaw1.0

* Correct location of templates and update docs

* Automatically load shipping countries

* Add loadcountries command

* Add info on loading country data
2018-12-26 12:58:05 +01:00
JamesRamm b9747a3a9b Fixing errors from travis. #146 2018-03-23 21:50:38 +01:00
JamesRamm d790fecf1e Triple quotes on docstrings are pep257 2017-10-01 12:19:37 +02:00
James Ramm a34edc0088 Fixes #84 (#91)
* Fixes #84
2017-09-17 17:36:04 +02:00
James Ramm fd6cd2eab6 Reworking of Products (#86)
* Fixes #76 and fixes #47 by removing concrete product models from longclaw. Abstract classes are provided as a starting point and concrete models moved to the project template

* Products fully customisable (and therefore product index). Work on #76

* Removes concrete product models from longclaw, allowing customisation. For #76 and #47

* Product base testing

* Reorder imports for tests

* Drop py3.3

* Add back admin.py

* Update page panels

* Add tests to products
2017-09-17 14:01:12 +02:00
JamesRamm 44962381b8 Fixes #72 2017-08-09 14:46:48 +01:00
JamesRamm bf57748c2d More tests 2017-05-26 22:11:27 +01:00
JamesRamm acd76a19a5 Fixes #67; brings longclawbasket coverage past 80% 2017-05-26 17:46:38 +01:00
James Ramm 3de6f48124 Checkout view (#68)
Fixes #50, #59, #60, #65
2017-05-24 11:12:36 +01:00
JamesRamm 91a4106714 Fixes #46 2017-04-02 10:14:20 +01:00
JamesRamm dfc45a8746 Checkout tests. #37 2017-03-29 17:28:43 +01:00