|
5 | 5 |
|
6 | 6 | RSpec.describe "SolidusAdmin::ZonesController", type: :request do |
7 | 7 | include_examples "CRUD resource requests", "zone" do |
8 | | - let(:countries) { create_list(:country, 2) } |
| 8 | + let(:usa) { create(:country) } |
| 9 | + let(:canada) { create(:country, iso: "CA") } |
| 10 | + let(:countries) { [usa, canada] } |
9 | 11 | let(:resource_class) { Spree::Zone } |
10 | 12 | let(:valid_attributes) { { name: "Zone with countries", country_ids: countries.map(&:id) } } |
11 | 13 | let(:invalid_attributes) { { name: "" } } |
|
15 | 17 | end |
16 | 18 |
|
17 | 19 | it "updates zone members" do |
18 | | - zone = create(:zone, :with_country) |
| 20 | + brazil = create(:country, iso: "BR") |
| 21 | + zone = create(:zone, countries: [brazil]) |
19 | 22 | expect { patch solidus_admin.zone_path(zone), params: { zone: valid_attributes } }.to change(Spree::ZoneMember, :count).by(1) |
20 | 23 | end |
21 | 24 | end |
22 | 25 |
|
23 | 26 | context "N+1" do |
24 | | - before do |
25 | | - create_list(:zone, 2, :with_country) |
26 | | - create_list(:zone, 2, :with_state) |
27 | | - end |
| 27 | + let(:usa) { create(:country) } |
| 28 | + let(:canada) { create(:country, iso: "CA") } |
| 29 | + let(:new_york) { create(:state, state_code: "NY", country: usa) } |
| 30 | + let(:north_carolina) { create(:state, state_code: "NC", country: usa) } |
| 31 | + let!(:usa_zone) { create(:zone, countries: [usa]) } |
| 32 | + let!(:canada_zone) { create(:zone, countries: [canada]) } |
| 33 | + let!(:new_york_zone) { create(:zone, states: [new_york]) } |
| 34 | + let!(:north_carolina_zone) { create(:zone, states: [north_carolina]) } |
28 | 35 |
|
29 | 36 | let(:expected_count) do |
30 | 37 | [ |
|
0 commit comments