We get the same value here, but without the three additional database hits to adjustments (both of these values are already present on the order object itself).
- Code is at a single place
- No need to import `localizeCurrencyFilter` into Controllers that required unit_prices
- Add `currencyconfig` into unit_prices_spec as it's now dependant to localizeCurrencyFilter
- Only needs to watch `unit_value_human` and `variant.price` the only two editable field for this form that is related to unit price
- Add hidden_field_tag to retrieve values into the controller
- Add method `processUnitPrice` which is responsible for computing the right unit price, that depends on `price`, `variant_unit_scale`, `variant_unit`, `unit_value` and `variant_unit_name`
- Watch the needed model to compute the unit price: `product.price` and `product.variant_unit_name`
- Add dependencies : UnitPrices and localizeCurrencyFilter
- Add currencyconfig to spec, as it's needed by localizeCurrencyFilter
- Put `'ng-controller' => 'unitsCtrl'` to the relevant node.
- Add new ng-model, as it's needed to watch it in order to compute unit price : `product.price`
- Finally display the needed information: `product.unit_price_value` and `product.unit_price_unit`
- Arguments were misordered and `scale` is needed to compute the denominator.
- Reorder "state machine" if-else as variant_unit_name is priority and "item" is too.
- @andrewpbrett I need your review here ;)
- Still need to test imperial system
- Add a new i18n key for the content of the tooltip: js.shopfront.unit_price_tooltip.admin
- Display unit price readonly field near the price field
- Still fake values, needs to be updated
- As this directive is now used by Darkswarm and admin, move files in shared/ folders
- Needs some css variable in admin part : as question-mark-with-tooltip is used in admin part, it needs some css variable
- Add own scss variables file with all needed variables for question-mark-icon. Some duplication, but now really independant and shared between both darkswarm and admin.
- Remove strange border around the button, rendered by chrome when button is focused.
- Test that the unit price wrapper is here
- Click on the question mark icon and display the tooltip
- Click outside the question mark icon and hide the toolip
This moves them to a more unit-like style where the mailer methods are
the subjects. However, I did so only for the methods that show order
balance and thus we want to be extra sure of their coverage.
If these are unit tests, it's much easier to find a `describe` with the
method under test and putting all the tests exercising that method
together.
It turns out that `#update_payment_state` is by far the method that we
test the most which leads me to think:
a) this class might be doing too many things.
b) other methods might not be that well covered.