'add product - check statuses and delivery legend and price ' set customer address (no delivery address): ' UK OK ' UK restricted ' other ' with each customer address type, set delivery address and check status/delivery ' VAT message and order price when no delivery address and with customer address (no change) and with delivery address (more certain) ' delivery message when no delivery address; and other types of delivery address ' delivery to standard address and value near £100 should promote free delivery if spend more ' not if to other addresses ' if spend enough and std. address then delivery free ' other addresses office quotes delivery ' check delivery and total keeps track as add and remove items (low enough price to avoid £100 limit '=================================================== 'check basic operation and cookie storage '=================================================== Clear Basket Clear CustomerDetails Check CustomerDetails = "" Check CustomerName = "" Check isEmpty = y Check ItemCount = 0 Check DistinctItemsCount = 0 Check Status = cShopBasketStatus_Incomplete Check OrderPriceTotalInclDelivery = 0 Check isDeliveryAddressValid = n 'unsuccessful add because don't specify mandatory qualifier AddProduct #Prod. Qual. ID# 1 = n Check isEmpty = y Check isStandardDelivery = y Check ItemCount = 0 Check Status = cShopBasketStatus_Incomplete Check OrderPriceTotalInclDelivery = 0 'add cheaper product (not free delivery) Clear Basket AddProduct #Prod. Reg. ID# 1 = y AddProduct #Prod. Reg. ID# 1 = y Check isEmpty = n Check isStandardDelivery = y Check ItemCount = 2 Check DistinctItemsCount = 1 Check Status = cShopBasketStatus_Incomplete Check ItemPriceCorrectedVAT #Prod. Reg. ID# = #Prod. Reg. Price# Check OrderPriceTotalInclDelivery = 2 * #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. Reg. P&P# / 2 'check save and restore Redirect Next Check isEmpty = n Check isStandardDelivery = y Check ItemCount = 2 Check DistinctItemsCount = 1 Check Status = cShopBasketStatus_Incomplete Check ItemPriceCorrectedVAT #Prod. Reg. ID# = #Prod. Reg. Price# Check OrderPriceTotalInclDelivery = 2 * #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. Reg. P&P# / 2 '=================================================== Clear Basket Redirect Next Check isEmpty = y Check ItemCount = 0 Check Status = cShopBasketStatus_Incomplete Check CustomerDetails = "" Check OrderPriceTotalInclDelivery = 0 Check isDeliveryAddressValid = n AddProduct #Prod. Qual. ID# 1 = n Check isEmpty = y Check isStandardDelivery = y Check ItemCount = 0 Check DistinctItemsCount = 0 'add with valid size AddProduct #Prod. Qual. ID# 1 "Blue" = y Check isEmpty = n Check ItemCount = 1 'try add without size AddProduct #Prod. Qual. ID# 1 = n Check isEmpty = n Check ItemCount = 1 Check isDeliveryAddressValid = n Check ItemPriceCorrectedVAT #Prod. Qual. ID# "Blue" = #Prod. Qual. Price# Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# + #Prod. Qual. P&P# AddProduct #Prod. Qual. ID# 1 "Blue" = y Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 2 + #Prod. Qual. P&P# + #Prod. Qual. P&P#/2 Check isDeliveryAddressValid = n UpdateQuantity #Prod. Qual. ID# 5 "Blue" = y Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + (4 * #Prod. Qual. P&P# / 2) Check isEmpty = n Check ItemCount = 5 Check DistinctItemsCount = 1 Check isDeliveryAddressValid = n AddProduct #Invalid Product ID# 1 "Blue" = n 'delivery is free (based on price) Clear Basket Check isEmpty = y Check ItemCount = 0 Check DistinctItemsCount = 0 Check Status = cShopBasketStatus_Incomplete Check OrderPriceTotalInclDelivery = 0 AddProduct #Prod. Reg. ID# 1 = y Check isEmpty = n Check isStandardDelivery = y Check ItemCount = 1 Check DistinctItemsCount = 1 Check OrderPriceTotalInclDelivery = #Prod. Reg. Price# + #Prod. Reg. P&P# AddProduct #Prod. Reg. ID# 1 = y Check ItemCount = 2 Check DistinctItemsCount = 1 Check OrderPriceTotalInclDelivery = 2 * #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. Reg. P&P#/2 AddProduct #Prod. Reg. ID# 5 = y Check ItemCount = 7 Check DistinctItemsCount = 1 'no defined delivery location so no free delivery Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + #Prod. Reg. P&P# + (6 * #Prod. Reg. P&P# / 2) Check Status = cShopBasketStatus_Incomplete 'now define the delivery address Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#" Check CustomerName = "Dave~Kibble" Check isDeliveryAddressValid = y Check Status = cShopBasketStatus_ReadyToPay Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentdelivery_Standard Check OrderPriceTotalInclDelivery = 7 * (#Prod. Reg. Price#) 'with delivery address set, reduce the order value and see P&P come back UpdateQuantity #Prod. Reg. ID# 2 = y Check OrderPriceTotalInclDelivery = 2 * #Prod. Reg. Price# + #Prod. Reg. P&P# + (1 * #Prod. Reg. P&P# / 2) 'revert to free P&P UpdateQuantity #Prod. Reg. ID# 7 = y Check OrderPriceTotalInclDelivery = 7 * (#Prod. Reg. Price#) 'delivery to outside area Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Restricted# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#" Check isDeliveryAddressValid = y Check DeliveryDetailsValid = n Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + #Prod. Reg. P&P# + (6 * #Prod. Reg. P&P# / 2) 'add 2 different products AddProduct #Prod. Qual. ID# 1 "Blue" = y Check ItemCount = 8 Check DistinctItemsCount = 2 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + #Prod. Qual. Price# + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P# + #Prod. Qual. P&P#) / 2) 'update quantity of something not in the basket UpdateQuantity #Prod. NoVAT ID# 7 = n Check ItemCount = 8 Check DistinctItemsCount = 2 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + #Prod. Qual. Price# + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P# + #Prod. Qual. P&P#) / 2) 'update quantity reasonably UpdateQuantity #Prod. Qual. ID# 2 "Blue" = y Check ItemCount = 9 Check DistinctItemsCount = 2 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + (2 * #Prod. Qual. Price#) + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P# + 2 * #Prod. Qual. P&P#) / 2) 'update quantity negatively UpdateQuantity #Prod. Qual. ID# -1 "Blue" = y Check ItemCount = 7 Check DistinctItemsCount = 1 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P#) / 2) '=================================================== 'check cookie storage Clear Basket 'add 2 different products AddProduct #Prod. Reg. ID# 7 = y AddProduct #Prod. Qual. ID# 2 "Blue" = y Check isEmpty = n Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Restricted# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#" Check CustomerName = "Dave~Kibble" Check isDeliveryAddressValid = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check ItemCount = 9 Check DistinctItemsCount = 2 Check DistinctItemsCount = 2 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + (2 * #Prod. Qual. Price#) + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P# + 2 * #Prod. Qual. P&P#) / 2) Check Status = cShopBasketStatus_WaitDeliveryPrice Redirect Next 'repeat exactly the same checks Check isEmpty = n Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Restricted# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#" Check isDeliveryAddressValid = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check ItemCount = 9 Check DistinctItemsCount = 2 Check DistinctItemsCount = 2 Check OrderPriceTotalInclDelivery = 7 * #Prod. Reg. Price# + (2 * #Prod. Qual. Price#) + #Prod. Reg. P&P# + ((6 * #Prod. Reg. P&P# + 2 * #Prod. Qual. P&P#) / 2) Check Status = cShopBasketStatus_WaitDeliveryPrice '=================================================== ' basic operation verified '=================================================== '=================================================== '=================================================== 'check separation of product with different qualifiers Clear Basket Clear CustomerDetails AddProduct #Prod. Qual. ID# 5 "Blue" = y Redirect Next Check isEmpty = n Check ItemCount = 5 Check isDeliveryAddressValid = n Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + ((4 * #Prod. Qual. P&P#) / 2) Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentdelivery_Standard Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#" Check isDeliveryAddressValid = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentdelivery_Standard Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 Check Status = cShopBasketStatus_ReadyToPay AddProduct #Prod. Qual. ID# 1 "Blue" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 6 'add negative quantity = remove AddProduct #Prod. Qual. ID# -2 "Blue" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 4 'remove product not in the basket - fail AddProduct #Prod. Qual. ID# -2 "Red" = n Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 4 AddProduct #Prod. Qual. ID# 2 "Red" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 6 'remove one is OK AddProduct #Prod. Qual. ID# -1 "Red" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 5 'remove last one AddProduct #Prod. Qual. ID# -1 "Red" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 4 'remove one more, 'fail' (to add one) AddProduct #Prod. Qual. ID# -1 "Red" = n Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 4 AddProduct #Prod. Qual. ID# 2 "Red" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 6 'remove too many AddProduct #Prod. Qual. ID# -5 "Red" = y Check Status = cShopBasketStatus_ReadyToPay Check ItemCount = 4 '=================================================== Redirect Next Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#" Check isDeliveryAddressValid = y Check ItemCount = 4 AddProduct #Prod. Qual. ID# 1 "Blue" = y Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 Check Status = cShopBasketStatus_ReadyToPay Check isStandardDelivery = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentdelivery_Standard '=================================================== 'Check delivery and customer details are distinct but delivery defaults to customer if delivery not set Redirect Next Clear CustomerDetails Check CustomerDetailsValid = n Check CustomerDetails = "" Check DeliveryDetailsValid = n Check isDeliveryAddressValid = n Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + ((4 * #Prod. Qual. P&P#) / 2) Check CustomerDetailsValid = n Check CustomerDetails = "" Check DeliveryDetailsValid = n Check isDeliveryAddressValid = n Check ItemCount = 5 Check isStandardDelivery = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentdelivery_Standard Check Status = cShopBasketStatus_Incomplete '=================================================== 'Check delivery and customer details are distinct but delivery defaults to customer if delivery not set '=================================================== Redirect Next Check CustomerDetailsValid = n Check CustomerDetails = "" Check DeliveryDetailsValid = n Check isDeliveryAddressValid = n Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + ((4 * #Prod. Qual. P&P#) / 2) Check CustomerDetailsValid = n Check CustomerDetails = "" Check DeliveryDetailsValid = n Check isDeliveryAddressValid = n Check ItemCount = 5 Check isStandardDelivery = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_But Check PriceCommentDelivery = cPriceCommentdelivery_Standard Check Status = cShopBasketStatus_Incomplete '=================================================== Redirect Next 'check delivery details not required for delivery address to be valid Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#" Check CustomerDetailsValid = y Check DeliveryDetailsValid = n Check isDeliveryAddressValid = y Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 Check CustomerDetailsValid = y Check DeliveryDetailsValid = n Check isDeliveryAddressValid = y Check ItemCount = 5 Check isStandardDelivery = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check Status = cShopBasketStatus_ReadyToPay 'now we are ready to pay, vat should be definite, even though we have not specified delivery address explicitly Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentdelivery_Standard Set DeliveryDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#" Check CustomerDetailsValid = y Check DeliveryDetailsValid = y Check isDeliveryAddressValid = y Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 Check CustomerDetailsValid = y Check DeliveryDetailsValid = y Check isDeliveryAddressValid = y Check ItemCount = 5 Check isStandardDelivery = y Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentdelivery_Standard Check Status = cShopBasketStatus_ReadyToPay '=================================================== Set DeliveryDetails #CountryID France#, Philippe~Frog #Address French# #Postcode French# #phone2# #email2# = y Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Philippe~Frog~~#Address French#~~France~~#Postcode French#" Check CustomerName = "Dave~Kibble" Check CustomerDetailsValid = y Check DeliveryDetailsValid = y Check isDeliveryAddressValid = y Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + ((4 * #Prod. Qual. P&P#) / 2) Check isStandardDelivery = n Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check Status = cShopBasketStatus_WaitDeliveryPrice Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet '=================================================== Redirect Next Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Std#~~Phone:~#phone1#~~Email:~#email1#" Check DeliveryDetails = "Philippe~Frog~~#Address French#~~France~~#Postcode French#" Check CustomerDetailsValid = y Check DeliveryDetailsValid = y Check isDeliveryAddressValid = y Check ItemCount = 5 Check OrderPriceTotalInclDelivery = #Prod. Qual. Price# * 5 + #Prod. Qual. P&P# + ((4 * #Prod. Qual. P&P#) / 2) Check isStandardDelivery = n Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check Status = cShopBasketStatus_WaitDeliveryPrice '=================================================== 'check VAT: included for UK & Europe, but not elsewhere 'books zero rated everywhere '1. using default delivery '=================================================== Clear CustomerDetails Clear Basket Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetailsValid = y Check DeliveryDetailsValid = n Check isDeliveryAddressValid = y AddProduct #Prod. NoVAT ID# 1 = y AddProduct #Prod. Reg. ID# 1 = y Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Check isEmpty = n Check ItemCount = 2 Check Status = cShopBasketStatus_ReadyToPay Set CustomerDetails #CountryID France#, Philippe~Frog #Address French# #Postcode French# #phone2# #email2# = y Check Status = cShopBasketStatus_WaitDeliveryPrice Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet 'standard delivery price is included still, until admin sets it otherwise Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Check isStandardDelivery = n Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling 'note is "but" here and when delivery it set, it is "Always" Check PriceCommentVAT = cPriceCommentVAT_Included_But Set CustomerDetails #CountryID France#, Philippe~Frog #Address French# #Postcode French# #phone2# #email2# = y Check PriceCommentVAT = cPriceCommentVAT_Included_But Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Set CustomerDetails #CountryID Greenland#, Sven~Smorgasbord #Greenland Address# #Postcode Greenland# #phone2# #email2# = y Check PriceCommentVAT = cPriceCommentVAT_Not_Included Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# - #Prod. Reg. VAT# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# '========== 'check VAT: included for UK & Europe, but not elsewhere '2. using separate delivery Clear CustomerDetails Clear Basket Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check CustomerDetailsValid = y Check DeliveryDetailsValid = n Check isDeliveryAddressValid = y AddProduct #Prod. NoVAT ID# 1 = y AddProduct #Prod. Reg. ID# 1 = y Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Check isEmpty = n Check ItemCount = 2 Check Status = cShopBasketStatus_ReadyToPay Set DeliveryDetails #CountryID France#, Philippe~Frog #Address French# #Postcode French# #phone2# #email2# = y Check Status = cShopBasketStatus_WaitDeliveryPrice Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet 'standard delivery price is included still, until admin sets it otherwise Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Check isStandardDelivery = n Check PriceCommentCurrency = cPriceCommentCurrency_IsSterling Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check DeliveryDetailsValid = y Check PriceCommentVAT = cPriceCommentVAT_Included_Always Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Set DeliveryDetails #CountryID Greenland#, Sven~Smorgasbord #Greenland Address# #Postcode Greenland# #phone2# #email2# = y Check DeliveryDetailsValid = y Check PriceCommentVAT = cPriceCommentVAT_Not_Included Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# - #Prod. Reg. VAT# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# '=================================================== '=================================================== 'set delivery price '=================================================== Clear CustomerDetails Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Check Status = cShopBasketStatus_Incomplete '- fail if status wrong (not waiting or not ready to pay) Set OrderDeliveryPrice 57.25 = n Check Status = cShopBasketStatus_Incomplete Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# '- fail if not required by delivery location Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Std# #phone1# #email1# = y Check Status = cShopBasketStatus_ReadyToPay Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# Set OrderDeliveryPrice 57.25 = n '- set valid delivery address (implied from customer details) Set CustomerDetails #CountryID UK#, Dave~Kibble #Address UK# #Postcode UK Restricted# #phone1# #email1# = y Check Status = cShopBasketStatus_WaitDeliveryPrice Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check PriceCommentVAT = cPriceCommentVAT_Included_But Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + #Prod. Reg. P&P# + #Prod. NoVAT P&P# '- fail if not stored in the database (no order number) Set OrderDeliveryPrice 57.25 = n '- create a psudo order number Set OrderNumberAsTest Check Status = cShopBasketStatus_WaitDeliveryPrice Set ConfirmOrderDeliveryPrice = n Check Status = cShopBasketStatus_WaitDeliveryPrice Check PriceCommentDelivery = cPriceCommentDelivery_Outside_NotSet Check PriceCommentVAT = cPriceCommentVAT_Included_But '- now should be able to progress with delivery price - check status is updated Set OrderDeliveryPrice 57.25 = y Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + 57.25 Check Status = cShopBasketStatus_DeliveryPriceSet Check PriceCommentDelivery = cPriceCommentDelivery_Outside_Set Check PriceCommentVAT = cPriceCommentVAT_Included_But '- can update again Set OrderDeliveryPrice 67.35 = y Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + 67.35 Check Status = cShopBasketStatus_DeliveryPriceSet 'now confirm the delivery price Set ConfirmOrderDeliveryPrice = y Check Status = cShopBasketStatus_ReadyToPay Check PriceCommentDelivery = cPriceCommentDelivery_Outside_Set Check PriceCommentVAT = cPriceCommentVAT_Included_Always '- cannot update again Set OrderDeliveryPrice 22.55 = n Check Status = cShopBasketStatus_ReadyToPay Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + 67.35 '- cannot add item AddProduct #Prod. NoVAT ID# 1 = n Check Status = cShopBasketStatus_ReadyToPay Check OrderPriceTotalInclDelivery = #Prod. NoVAT Price# + #Prod. Reg. Price# + 67.35 Check PriceCommentDelivery = cPriceCommentDelivery_Outside_Set Check PriceCommentVAT = cPriceCommentVAT_Included_Always '========================================= 'check basket has been cleared from the cookie - customer details also cleared Check CustomerDetails = "Dave~Kibble~~#Address UK#~~#Postcode UK Restricted#~~Phone:~#phone1#~~Email:~#email1#" Check CustomerName = "Dave~Kibble" Check isEmpty = n Redirect Next Check isEmpty = y Check ItemCount = 0 Check DistinctItemsCount = 0 Check Status = cShopBasketStatus_Incomplete Check OrderPriceTotalInclDelivery = 0 Check isDeliveryAddressValid = n Check CustomerDetails = ""