1
0
Fork 0

use option multiple and aggregate the result

Dieser Commit ist enthalten in:
Faizaan Gagan 2021-04-23 12:22:04 +05:30
Ursprung be1eab6092
Commit eb93169f86
3 geänderte Dateien mit 23 neuen und 12 gelöschten Zeilen

Datei anzeigen

@ -192,11 +192,16 @@ class CustomWizard::Builder
def check_condition(template)
if template['condition'].present?
CustomWizard::Mapper.new(
result = CustomWizard::Mapper.new(
inputs: template['condition'],
user: @wizard.user,
data: @wizard.current_submission
data: @wizard.current_submission,
opts: {
multiple: true
}
).perform
result.any?
else
true
end

Datei anzeigen

@ -45,9 +45,8 @@ class CustomWizard::Mapper
def perform
multiple = @opts[:multiple]
perform_result = multiple ? [] : nil
input_size = inputs.size
inputs.each_with_index do |input, index|
inputs.each do |input|
input_type = input['type']
pairs = input['pairs']
@ -70,8 +69,6 @@ class CustomWizard::Mapper
if multiple
perform_result.push(result)
elsif result != true && index < (input_size - 1)
next
else
perform_result = result
break

Datei anzeigen

@ -153,8 +153,11 @@ describe CustomWizard::Mapper do
expect(CustomWizard::Mapper.new(
inputs: inputs['validation_multiple_pairs'],
data: data,
user: user1
).perform).to eq(true)
user: user1,
opts: {
multiple: true
}
).perform.any?).to eq(true)
end
it "validates the data when one of the conditions are met" do
@ -163,8 +166,11 @@ describe CustomWizard::Mapper do
expect(CustomWizard::Mapper.new(
inputs: inputs['validation_multiple_pairs'],
data: custom_data,
user: user1
).perform).to eq(true)
user: user1,
opts: {
multiple: true
}
).perform.any?).to eq(true)
end
it "doesn't validate the data when none of the conditions are met" do
@ -174,8 +180,11 @@ describe CustomWizard::Mapper do
expect(CustomWizard::Mapper.new(
inputs: inputs['validation_multiple_pairs'],
data: custom_data,
user: user1
).perform).to eq(false)
user: user1,
opts: {
multiple: true
}
).perform.any?).to eq(false)
end
end
end