Commit Graph

10259 Commits

Author SHA1 Message Date
Pau Perez
e0f43191e2 Make helper methods private
Otherwise next dev might think these are attributes of the resulting
JSON serialized object.

They just made the refactoring a bit easier.
2018-11-28 16:21:40 +01:00
Pau Perez
c330d931ce Eager load product properties to avoid N+1
This totally removes the following N+1 query from the GET /shops request

```sql
SELECT "spree_properties".* FROM "spree_properties"
  INNER JOIN "spree_product_properties"
    ON "spree_product_properties"."property_id" = "spree_properties"."id"
  INNER JOIN "spree_products"
    ON "spree_products"."id" = "spree_product_properties"."product_id"
  INNER JOIN "enterprises"
    ON "enterprises"."id" = "spree_products"."supplier_id"
  WHERE "spree_products"."supplier_id" = 24;
```

The product properties of the corresponding enterprises are now loaded
in a single query fired from the controller.
2018-11-28 16:21:40 +01:00
Pau Perez
4608c434b4 Eager load producer properties to avoid N+1
This totally removes the following N+1 query from the GET /shops request

```sql
SELECT "spree_properties".* FROM "spree_properties"
  INNER JOIN "producer_properties"
    ON "spree_properties"."id" = "producer_properties"."property_id"
  WHERE "producer_properties"."producer_id" = 17
  ORDER BY producer_properties.position;
```

The producer properties of the corresponding enterprises are now loaded
in a single query fired from the controller.
2018-11-28 16:21:40 +01:00
Pau Perez
e40c1c08ca Refactor spec to not stub the class under test
This also relies on ActiveRecord which will come in handy as we move on
the refactor.
2018-11-28 16:21:40 +01:00
Pau Perez
149fc1ac6f Inline PropertyMerge's #merge into serializer
Now that it has become a plain Ruby #uniq, there's no point on having
the abstraction and indirection.
2018-11-28 16:21:40 +01:00
Pau Perez
faac5f4b2d Refactor PropertyMerge to use Ruby's #uniq instead 2018-11-28 16:21:40 +01:00
Pau Perez
1363a2a17d Improve readability of spec 2018-11-28 16:21:40 +01:00
Pau Perez
8e1f9a1ba3 Refactor #product_properties not to fetch ids 2018-11-28 16:21:40 +01:00
Pau Perez
bc7258d43b Test #supplied_properties helper methods 2018-11-28 16:21:40 +01:00
Pau Perez
23f629cfd6 Autofix all Rubocop violations in serializer 2018-11-28 13:54:42 +01:00
Pau Perez
c6ab5feb81 Move cached & uncached serializers to their files 2018-11-28 13:54:42 +01:00
Pau Perez
41d988176c Pass enterprises to inject method from controller 2018-11-28 13:54:42 +01:00
Pau Perez
5a85d7a77b RSpec3-ize controller spec 2018-11-28 13:54:42 +01:00
Pau Pérez Fabregat
b9dfaea274 Merge pull request #3143 from coopdevs/setup-rack-mini-profiler
Enable rack-mini-profiler in development
2018-11-28 13:54:27 +01:00
Pau Pérez Fabregat
438cff6e6d Merge pull request #3080 from Matt-Yorkley/pi/french_issue
Pi/french issue
2018-11-28 13:39:04 +01:00
Pau Pérez Fabregat
5c8a638320 Merge pull request #3055 from HugsDaniel/3051-products-edit-views
[Defacepocalypse] Import products#edit and form partial in our codebase and apply overrides
2018-11-27 17:32:25 +01:00
Pau Pérez Fabregat
869f17256d Merge pull request #3011 from HugsDaniel/3000-api-endpoint-enterprise-fee
Add an API endpoint for EnterpriseFeesController#destroy
2018-11-27 17:28:43 +01:00
Pau Pérez Fabregat
ea6f44e78d Merge pull request #3144 from mkllnk/2841-fix-migration-encoding
Encode records with special chars as well
2018-11-27 17:28:13 +01:00
Pau Pérez Fabregat
04d57f8e6e Merge pull request #3135 from openfoodfoundation/dependabot/bundler/unicorn-rails-2.2.1
Bump unicorn-rails from 1.1.0 to 2.2.1
2018-11-27 17:26:12 +01:00
Pau Pérez Fabregat
d073157424 Merge pull request #3134 from coopdevs/update-skylight
Update Skylight from 1.6.1 to 1.7.1
2018-11-27 08:54:39 +01:00
Maikel
2967fdccf7 Merge pull request #3142 from kristinalim/fix-rubocop_block_length_ignore_describe_context
Ignore `describe` and `context` in Rubocop BlockLength
2018-11-27 14:54:46 +11:00
Maikel Linke
9efa45663c Encode records with special chars as well
Using Marshal.dump on the French production database raised an error:

    Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8

Replacing Marshal with YAML solves the problem. It is also more reliable
and human readable.

This code was run against the French, Australian and UK production
data successfully.
2018-11-27 14:34:03 +11:00
Pau Perez
b365488653 Enable rack-mini-profiler in development
This will run it always in development mode.
2018-11-26 12:10:49 +01:00
Kristina Lim
5c6ec50dea Ignore describe and context in Rubocop BlockLength 2018-11-26 13:55:55 +08:00
Maikel
c152da8122 Merge pull request #3126 from mkllnk/2841-convert-guest-customer
2841  Associate customers with their user records
v1.23.0
2018-11-26 13:56:31 +11:00
dependabot[bot]
4499c38cfe Bump unicorn-rails from 1.1.0 to 2.2.1
Bumps [unicorn-rails](https://github.com/samuelkadolph/unicorn-rails) from 1.1.0 to 2.2.1.
- [Release notes](https://github.com/samuelkadolph/unicorn-rails/releases)
- [Commits](https://github.com/samuelkadolph/unicorn-rails/compare/v1.1.0...v2.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 19:14:51 +00:00
Pau Perez
2abb316bcc Update Skylight from 1.6.1 to 1.7.1
This doesn't bring too many improvements but it's the latest version can
work on our Rails 3.2 version.

You can read the changelog at
https://github.com/skylightio/skylight-ruby/blob/master/CHANGELOG.md#170-april-24-2018.
2018-11-23 17:31:53 +01:00
Maikel Linke
f4d5727fb4 Associate customers with their user records
When we introduced the Customer model, we didn't associate any existing
customers with users that have the same email address.
Later we decided to create that association when users sign up. But we didn't
update all the existing customers. We do that now for data consistency and to
solve several bugs.
2018-11-23 15:38:35 +11:00
Maikel Linke
95dbfae757 Use expect syntax 2018-11-22 15:42:56 +11:00
Maikel
be7fea9d14 Merge pull request #3003 from kevinchristianson/getting-started-edits
Getting Started edits
2018-11-22 12:51:16 +11:00
haseleyi
07e246db39 Remove outdated time zone precaution from Getting Started wiki 2018-11-21 15:56:14 -08:00
haseleyi
364a00074b Remove Resources header 2018-11-21 15:56:14 -08:00
Kevin Christianson
7dce6e1180 Remove weird red "for" text in Troubleshooting 2018-11-21 15:56:14 -08:00
Kevin Christianson
1216567be9 Add Troubleshooting section with an alternative database setup 2018-11-21 15:56:13 -08:00
Samuel Nozaki
a7032a8822 Clarify that the time zone should be Melbourne 2018-11-21 15:56:13 -08:00
nozakis
6a73ee86f8 Clarify GETTING_STARTED.md in regards to rspec test failures and time zones 2018-11-21 15:56:13 -08:00
Matt-Yorkley
b3a9b502fa Add missing translation key 2018-11-21 19:16:08 +00:00
Matt-Yorkley
a5407d780c Include unexpected validation errors 2018-11-21 19:16:07 +00:00
Pau Pérez Fabregat
ac9cfaa8c3 Merge pull request #3093 from mllocs/fix/factories-ignore-warning
Fixed Factory warning while running tests
2018-11-21 14:44:03 +01:00
Pau Pérez Fabregat
6a1776b84a Merge pull request #3053 from HugsDaniel/3050-products-new-views
[Defacepocalypse] Import products#new view into our codebase and apply overrides
2018-11-21 14:43:22 +01:00
luisramos0
0189cefd1c Update all locales with the latest Transifex translations 2018-11-20 22:40:11 +00:00
Maxim Colls
f179bf8c49 Fixed Factory warning while running tests 2018-11-20 18:27:43 +00:00
Pau Pérez Fabregat
398092fa50 Merge pull request #3065 from openfoodfoundation/dependabot/bundler/turbo-sprockets-rails3-0.3.14
Bump turbo-sprockets-rails3 from 0.3.6 to 0.3.14
2018-11-20 12:13:23 +01:00
Pau Pérez Fabregat
4c6dec6203 Merge pull request #3082 from coopdevs/remove-travis-leftovers
Remove all database.travis.yml
2018-11-20 09:35:12 +01:00
Pau Perez
9301c5e1d5 Remove all database.travis.yml
We no longer use this file since we started with Semaphore CI.
2018-11-19 17:16:04 +01:00
Maikel
90e8813ff6 Merge pull request #3054 from coopdevs/fix/incorrect-order-dates
Fix/incorrect order dates
2018-11-19 09:17:11 +11:00
dependabot[bot]
e655e60b56 Bump turbo-sprockets-rails3 from 0.3.6 to 0.3.14
Bumps [turbo-sprockets-rails3](https://github.com/ndbroadbent/turbo-sprockets-rails3) from 0.3.6 to 0.3.14.
- [Release notes](https://github.com/ndbroadbent/turbo-sprockets-rails3/releases)
- [Commits](https://github.com/ndbroadbent/turbo-sprockets-rails3/compare/v0.3.6...v0.3.14)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-16 19:16:27 +00:00
Maikel
f593a70000 Merge pull request #2967 from openfoodfoundation/dependabot/bundler/unicorn-5.4.1
Bump unicorn from 4.9.0 to 5.4.1
2018-11-16 14:05:47 +11:00
dependabot[bot]
0d93705856 Bump unicorn from 4.9.0 to 5.4.1
Bumps [unicorn](https://bogomips.org/unicorn/) from 4.9.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-16 02:00:48 +00:00
Pau Perez
23bda74ecb Match name of filter and db column for consistency 2018-11-15 19:09:17 +01:00