Skip to content

Commit d6a0836

Browse files
recover test coverage
1 parent c8a40dc commit d6a0836

File tree

4 files changed

+64
-5
lines changed

4 files changed

+64
-5
lines changed

apps/rails_application/app/read_models/vat_rates/configuration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Configuration
1111
def call(event_store)
1212
event_store.subscribe(AddAvailableVatRate, to: [Taxes::AvailableVatRateAdded])
1313
event_store.subscribe(RemoveAvailableVatRate, to: [Taxes::AvailableVatRateRemoved])
14-
event_store.subscribe(AssignStoreToAvailableVatRate.new, to: [Stores::VatRateRegistered])
14+
event_store.subscribe(AssignStoreToAvailableVatRate, to: [Stores::VatRateRegistered])
1515
end
1616
end
1717
end

apps/rails_application/test/processes/promotions_calendar_test.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,29 @@ def test_start_time_is_inclusive
159159
assert_equal(40, discount.value)
160160
end
161161

162+
def test_ignores_other_event_types_in_promotion_stream
163+
store_id = SecureRandom.uuid
164+
time_promotion_id = SecureRandom.uuid
165+
166+
event_store.publish(
167+
Pricing::PriceSet.new(data: { product_id: SecureRandom.uuid, price: 100 }),
168+
stream_name: "Pricing::TimePromotion$#{time_promotion_id}"
169+
)
170+
171+
event_store.publish(
172+
Stores::TimePromotionRegistered.new(data: {
173+
store_id: store_id,
174+
time_promotion_id: time_promotion_id
175+
}),
176+
stream_name: "Stores::Store$#{store_id}"
177+
)
178+
179+
calendar = PromotionsCalendar.new(event_store, store_id)
180+
discount = calendar.current_time_promotions_discount
181+
182+
assert_instance_of(Pricing::Discounts::NoPercentageDiscount, discount)
183+
end
184+
162185
private
163186

164187
def create_time_promotion(store_id, discount, start_time, end_time)

apps/rails_application/test/processes/shipment_process_test.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,23 @@ def test_need_address_to_authorize_shipment
4141
assert_no_command
4242
end
4343

44+
def test_submit_and_authorize_shipment_with_store_registration
45+
given([offer_registered, order_placed, order_confirmed, shipping_address_added], process:)
46+
assert_all_commands(
47+
Stores::RegisterShipment.new(shipment_id: order_id, store_id: store_id),
48+
Shipping::SubmitShipment.new(order_id:),
49+
Shipping::AuthorizeShipment.new(order_id:),
50+
)
51+
end
52+
53+
def test_submit_shipment_with_store_registration_when_order_placed
54+
given([offer_registered, order_placed, shipping_address_added], process:)
55+
assert_all_commands(
56+
Stores::RegisterShipment.new(shipment_id: order_id, store_id: store_id),
57+
Shipping::SubmitShipment.new(order_id:),
58+
)
59+
end
60+
4461
private
4562

4663
def process
@@ -55,5 +72,18 @@ def shipping_address_added
5572
}
5673
)
5774
end
75+
76+
def offer_registered
77+
Stores::OfferRegistered.new(
78+
data: {
79+
order_id: order_id,
80+
store_id: store_id
81+
}
82+
)
83+
end
84+
85+
def store_id
86+
@store_id ||= SecureRandom.uuid
87+
end
5888
end
5989
end

apps/rails_application/test/vat_rates/assign_store_to_available_vat_rate_test.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ def test_assign_store_to_available_vat_rate
1212
event_store.publish(Taxes::AvailableVatRateAdded.new(data: { available_vat_rate_id: vat_rate_id, vat_rate: { code: "standard", rate: 20 } }))
1313
event_store.publish(Stores::VatRateRegistered.new(data: { store_id: store_id, vat_rate_id: vat_rate_id }))
1414

15-
assert_equal(store_id, AvailableVatRate.find_by!(uid: vat_rate_id).store_id)
15+
vat_rates = VatRates.available_vat_rates_for_store(store_id)
16+
assert_equal(1, vat_rates.count)
17+
assert_equal(store_id, vat_rates.first.store_id)
18+
assert_equal(vat_rate_id, vat_rates.first.uid)
1619
end
1720

1821
def test_assign_store_to_existing_available_vat_rate
@@ -23,7 +26,9 @@ def test_assign_store_to_existing_available_vat_rate
2326

2427
event_store.publish(Stores::VatRateRegistered.new(data: { store_id: store_id, vat_rate_id: vat_rate_id }))
2528

26-
assert_equal(store_id, AvailableVatRate.find_by!(uid: vat_rate_id).store_id)
29+
vat_rates = VatRates.available_vat_rates_for_store(store_id)
30+
assert_equal(1, vat_rates.count)
31+
assert_equal(store_id, vat_rates.first.store_id)
2732
end
2833

2934
def test_assigns_store_to_correct_vat_rate_by_uid
@@ -37,8 +42,9 @@ def test_assigns_store_to_correct_vat_rate_by_uid
3742

3843
event_store.publish(Stores::VatRateRegistered.new(data: { store_id: store_id, vat_rate_id: vat_rate_1_id }))
3944

40-
assert_equal(store_id, AvailableVatRate.find_by!(uid: vat_rate_1_id).store_id)
41-
assert_nil(AvailableVatRate.find_by!(uid: vat_rate_2_id).store_id)
45+
vat_rates_for_store = VatRates.available_vat_rates_for_store(store_id)
46+
assert_equal(1, vat_rates_for_store.count)
47+
assert_equal(vat_rate_1_id, vat_rates_for_store.first.uid)
4248
end
4349
end
4450
end

0 commit comments

Comments
 (0)