@@ -130,17 +130,18 @@ def find_latest_pact_versions_for_provider provider_name, tag = nil
130
130
end
131
131
end
132
132
133
- def find_all_pact_versions_for_provider_with_consumer_version_tags provider_name , consumer_version_tag_names
133
+ def find_all_pact_versions_for_provider_with_consumer_version_tags provider_name , consumer_version_tag_name , consumer_name = nil
134
134
provider = pacticipant_repository . find_by_name ( provider_name )
135
-
135
+ consumer = consumer_name ? pacticipant_repository . find_by_name ( consumer_name ) : nil
136
136
PactPublication
137
137
. select_all_qualified
138
138
. select_append ( Sequel [ :cv ] [ :order ] . as ( :consumer_version_order ) )
139
139
. select_append ( Sequel [ :ct ] [ :name ] . as ( :consumer_version_tag_name ) )
140
140
. remove_overridden_revisions
141
141
. join_consumer_versions ( :cv )
142
- . join_consumer_version_tags_with_names ( consumer_version_tag_names )
142
+ . join_consumer_version_tags_with_names ( consumer_version_tag_name )
143
143
. where ( provider : provider )
144
+ . where_consumer_if_set ( consumer )
144
145
. eager ( :consumer )
145
146
. eager ( :consumer_version )
146
147
. eager ( :provider )
@@ -457,12 +458,10 @@ def find_pacts_for_which_the_latest_version_for_the_fallback_tag_is_required(pro
457
458
458
459
def find_pacts_for_which_all_versions_for_the_tag_are_required ( provider_name , consumer_version_selectors )
459
460
# The tags for which all versions are specified
460
- tag_names = consumer_version_selectors . tag_names_of_selectors_for_all_pacts
461
+ selectors = consumer_version_selectors . select ( & :all_for_tag? )
461
462
462
- if tag_names . any?
463
- find_all_pact_versions_for_provider_with_consumer_version_tags ( provider_name , tag_names )
464
- else
465
- [ ]
463
+ selectors . flat_map do | selector |
464
+ find_all_pact_versions_for_provider_with_consumer_version_tags ( provider_name , selector . tag , selector . consumer )
466
465
end
467
466
end
468
467
0 commit comments