Skip to content

Commit

Permalink
Order methods test (#2159)
Browse files Browse the repository at this point in the history
* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Fix Sidebar Context (#1932)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Remove Inventory subscription that is not in use (#1951)

* Get package data by shopId as well as package name (#1949)

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Updated i18n settings panel (#1947)

* Updated i18n settings panel

- added new package for i18n settings
- converted to react
- added currency list
- added ability to save open state to SettingsCard to user preferences
- added ability to pluck fields in form component to enable concise
forms

* Update currency lists in admin

- Only show enabled currencies in dropdown
- Do not sure updatedAt field

* Added ability to toggle all on or all off for languages and currencies

* Removed unused code

* Updated colors for card toolbar

* fix props to show correct attribute

* fixes z-index issue on select container

* fix language props

* fix prop to show enabled languages only

* Avalara Tax Compliance (#1870)

* Save company object from Avalara API

* Load `appVersion` from package,json at startup. Create global `getAppVersion`

* create avaGet function to pass in extra header info. Add getTaxCodes function

* Extend plugin to also provide tax codes

* Add Test connection option in Avalara admin dashboard

* Send taxCode along with cart/orders

* Capture full tax detail in "taxes" field

* Update Test Credentials to use companyCode API

* Add input field for shipping tax code

* Add provides: taxCodes API to taxcloud

* add itemCode to cart/order payload

* use item id as line number. Pass in correct productId

* Pass in shipping as additional non-taxable (based on taxcode) item

* allow avaPost/avaGet to be used asynchronously

* Add setting to turn off tax calculation separately from disabling the module

* Add the rest of the fields to the form (except validation countries)

* Use correct UID and correct URL for getTaxCode

* Add setup for address validation by country

* Don't commit documents when commit is turned off. Eliminate unneeded functions

* Eliminate async versions of avaGet/avaPost. These should never be called by external module

* Add defaults for new configuration settings. Make shippingTaxCode required

* Make get/post methods use timeout, do some logging.

* Don't do address validation when package is disabled, even when addressvalidation is enabled

* Enable addressValidation by default

* Enable addressValidation by default

* Fix date parameter

* Merge. Fix conflicts.

* Modify auth arg for test credentials setup

* Extend timeout during test credentials call

* Limit address validation country options to US and CA

* Fix returned object for non-validated addresses

* Log Avalara details to custom Avalogger

* Set new defaults

* Add tax settings to account profile page

* Update account find for taxsettings to subscribe

* Only log if logging is enabled

* Write out Avalara requests to Logs collection via Bunyan logger

* Add log retention duration setting

* Add jobs to cleanup logs older than configured setting

* Add logs subscription that totally doesn't work

* Add logs publication

* Get logs and pass into Template

* Add Log-specific wrapper for Griddle

* Show individual log records in detail form

* Refine grid and detail results

* Populate entity codes and plug into taxCalc

* Use new field names confirmed by AvaTax

* Add taxSettings to recordOrder

* Update entity code field key

* removed excess panel wrapper around griddle table

* Add translations

* Show tax settings only if avalara enabled

* Fix import order.

* Setup error handling on Avalara methods

* Add dimensions/tax code to PDP (#1931)

* Edit product's schema file to include product dimensions

* Add product dimensions in variant form

* Edit product's schema and product admin form to include country of origin

* Edit product's schema and product admin form to include tax description

* Edit product's schema and product variant form to include origin country (yet to pre-populate from product's origin country)

* Edit variant form to include list of tax codes

* Refactor listTaxCodes method

* Refactor listTaxCodes method to use template state instead of sessions

* Refactor listTaxCodes method to use template state instead of sessions - template state now works

* Edit taxCodes schema to include more descriptive fields

* Include server method to save tax codes to TaxCodes collection

* (First attempt) saving taxcodes to database

* Successfully fetching taxcodes from database

* Add error block in fetching from db method

* change value of taxcode being saved in product details

* Adding select2 package

* Using select2 to display tax codes in nicer looking select box

* Correcting import order

* Editing required fields in product schema

* Using plain select field to display tax codes

* Remove tax code label; add select2 call in onRendered function instead of onCreated

* Displaying default tax code as selected in select box

* Removing unused meteor package; correcting import order

* Throwing more descriptive meteor error on insertTaxCodes method

* Display simple input box if tax provider is not enabled

* Correct the way we test for validation on address2

* Remove extra panel divs

* Add account ID to account management screen

* Adjust log details for when there is no document type

* Rename files to match style guide

* Use individual taxSettings form each account

* Add check to prevent populating duplicates

* Fix reference to accountschema

* Fix form update to corresponding accounts

* Add unique tax setting by customer to Avalara payload

* Fix exception error on geoCoder call

* Only pass in regions when it's a "country with regions"

* Revert "Only pass in regions when it's a "country with regions""

This reverts commit b809085.

* Create a refundReference which is cartId + date

* Ignore line items are not marked taxable

* Move taxDescription down to the variant level and pass if exists

* Move tax settings form into manage sidebar

* Fix tax settings saving bug

* Renamed files to fit style guide

* Don't allow a wide-open Account publication

* Remove unnecessary subscription

* Don't call API if entity codes is already populated

* Simplify logic for returning no results

* Don't select a tax rate but a tax code

* Rename function

* Properly set Avalara countryList defaultValues

* Eliminate extra slash

* Eliminate all extra slashes

* Check to ensure data is returned from API

* Also log errors in Avalogger. Correctly filter for taxable items.

* Require shopId

* linting fixes

* Add label to plain select. Rename method

* JSDoc linting

* Remove unused import

* Remove unused import

* Linting

* Check configuration and throw meaningful errors if not configured properly

* Add level to log so we can filter for errors

* Tweak HTML and styling in settings panel

* Fix i18n and timeout on testCredential

* Log error with error log level

* Moving select2 under community packages

* Adding error checks to taxcodes method

* Skip config check when testing credentials

* Trigger form validation before testcredentials

* Use native methods for assign and each

* Handle error on populating Avalara entity codes

* Add i18n for custom label

* Move i18n entry to appropriate module

* Move exemption settings into avalara module

* Implement i18n for missing fields in PDP

* Fix CircleCI failed tests

* Fix CircleCI failed tests

* Revert "Fix CircleCI failed tests"

This reverts commit 3b238a8.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f78.

* Removing empty selector per CR

* Use import rather than fs to get package.json

* Change per CR

* Restructure Class syntax per CR

* Put back "Custom Packages" header

* Add TODO

* Changing default timeout to 3000 ms

* Correct error name and make error message more specific

* - updated Accounts publication name

- Update Accounts.single to UserAccount

* Fix: Dashboard panel keeps re-opening during checkout (#1956)

* Show sidebar only if shipping is not configured

* Refactor: Show sidebar only if shipping is not configured

* Fix to show sidebar only if payment is not configured

* localize prices in emails (#1957)

* add GetShopCurrency helper

* update cart currency when user changes currency

* update schema to include currency in cart / order

* add userCurrency and exchangeRate to carts orders

* update email templates to display formatted price

* update user emails to use user currency

* Use select box of countries rather than text field for "Origin Country" (#1967)

* Fix 404 when adding handle and then editing a variant before publishing.

* Fixed misspelling in comment

* Remove z-index from dropdown as it creates more issues than it solves

* Moved ColumnData component to its own file. (#1972)

* Prevent hiding of nested tags on mobile (#1971)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Add presentational aspect for invoice

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Add state to the invoice view

* Detail on invoices captured

* Detail on invoices captured

* Add roll over list capability

* Add roll over list capability

* Add single invoice render

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Add data into individual line items

* linting and minor error fixes (#1973)

* remove extra unneeded check for userId

This was causing the Logger error we were seeing

* update import order

* change way of calling userId

* fixed Shops.findOne

* updated variable name

* removed html error code from meteor error

* cart.billing should now be defined to include currency

* setting default currency if shop.currency is unavailable

* update client to match server

* lint fixes

* Avalara error handling (#1968)

* Taxcloud doesn't really support getTaxCodes yet

* Ok, calm down

* Taxcloud doesn't really provide taxCodes yet

* Log Tax code errors to Logs collection rather than throwing a Meteor.Error

* Add missing import

* Use name from namespaced provides rather than name

* Pulling tax codes from TaxCloud

* Configure saving taxcloud taxes to db and displaying them

* Move around UI components

* Move around UI components

* Add total price of line items

* Format pricing to have dollar signs

* Finalize on tax data

* add cancel meteor method for orders

* Iterate on design

* Review tax display

* finish up allowing an admin cancel an order

* add cancel order workflow

* add test for orders

* add test for start and complete cancel order methods

* finish up on cancel order

* remove swal from shippingInvoice file

* solve linting issues

* fix linting issues in orders test

* fix template issues in shippingInvoice html

* create multi-action button

* refactor code based on reviews

* update shippingInvoice.js

* remove unwanted newlines in changed files

* fix eslint errors

* fix multi-action button

* refactor code based on reviews

* refactor buttonSelect

* fix test

* fix indentation issues

* fix indentation issues

* update code based on review

* update code based on reviews

* fix cancel order test

* fix bugs

* add i18nKeyLabel to multi-function button

* turn multi-function dropdown item to button

* refactor button props fr multi-function button

* test order methods

* fix paypal express refund method

* add payment provider payment methods

* fix payment provider refund issues

* complete test for cancel order methods

* remove inline style from translation

* add error handling for failing refunds

* remove unneccessary lines of code

* integration test for orders/approvePayment

* test for orders/shipmentDelivered

* add error handling

* write test for sendNotifications

* write more test

* finish writing test for order methods

* update changes based on reviews

* fix typo
  • Loading branch information
Kolawole Michael Alade authored and brent-hoover committed May 2, 2017
1 parent 47f0561 commit 38dde68
Show file tree
Hide file tree
Showing 6 changed files with 409 additions and 211 deletions.
3 changes: 3 additions & 0 deletions lib/collections/schemas/orders.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ export const History = new SimpleSchema({
event: {
type: String
},
value: {
type: String
},
userId: {
type: String
},
Expand Down
15 changes: 11 additions & 4 deletions server/imports/fixtures/orders.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,15 @@ export default function () {
_id: itemIdOne,
productId: Random.id(),
shopId: Random.id(),
variantId: Random.id()
variantId: Random.id(),
packed: false
},
{
_id: itemIdTwo,
productId: Random.id(),
shopId: Random.id(),
variantId: Random.id()
variantId: Random.id(),
packed: false
}
]
}], // Shipping Schema
Expand All @@ -149,10 +151,15 @@ export default function () {
paymentPackageId: getPkgData("example-paymentmethod") ? getPkgData("example-paymentmethod")._id : "uiwneiwknekwewe",
paymentSettingsKey: "example-paymentmethod",
mode: "authorize",
status: "created"
status: "created",
amount: 12.45
}),
invoice: {
total: 12.45
total: 12.45,
subtotal: 12.45,
discounts: 0,
taxes: 0.12,
shipping: 4.00
}
}],
state: "new",
Expand Down
2 changes: 1 addition & 1 deletion server/imports/fixtures/packages.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export default function () {
},
"example-paymentmethod": {
enabled: true,
support: ["authorize", "capture", "refund"]
support: ["Authorize", "Capture", "Refund"]
}
},
registry: [],
Expand Down
6 changes: 6 additions & 0 deletions server/imports/fixtures/shops.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@ export function createShopFactory() {
enabled: true
}],
public: true,
brandAssets: [
{
mediaId: "J8Bhq3uTtdgwZx3rz",
type: "navbarBrandImage"
}
],
timezone: "US/Pacific",
metafields: [],
defaultRoles: ["guest", "account/profile"],
Expand Down
Loading

0 comments on commit 38dde68

Please sign in to comment.