Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-25 18:50:27 +01:00
added specs
Dieser Commit ist enthalten in:
Ursprung
911140fde3
Commit
2a8a4367d8
2 geänderte Dateien mit 75 neuen und 14 gelöschten Zeilen
|
@ -130,21 +130,53 @@ describe CustomWizard::Mapper do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "validates valid data" do
|
context "conditional validation" do
|
||||||
expect(CustomWizard::Mapper.new(
|
it "validates valid data" do
|
||||||
inputs: inputs['validation'],
|
expect(CustomWizard::Mapper.new(
|
||||||
data: data,
|
inputs: inputs['validation'],
|
||||||
user: user1
|
data: data,
|
||||||
).perform).to eq(true)
|
user: user1
|
||||||
end
|
).perform).to eq(true)
|
||||||
|
end
|
||||||
|
|
||||||
it "does not validate invalid data" do
|
it "does not validate invalid data" do
|
||||||
data["input_2"] = "value 3"
|
data["input_2"] = "value 3"
|
||||||
expect(CustomWizard::Mapper.new(
|
expect(CustomWizard::Mapper.new(
|
||||||
inputs: inputs['validation'],
|
inputs: inputs['validation'],
|
||||||
data: data,
|
data: data,
|
||||||
user: user1
|
user: user1
|
||||||
).perform).to eq(false)
|
).perform).to eq(false)
|
||||||
|
end
|
||||||
|
context "using or condition" do
|
||||||
|
it "validates the data when all of the conditions are met" do
|
||||||
|
expect(CustomWizard::Mapper.new(
|
||||||
|
inputs: inputs['validation_multiple_pairs'],
|
||||||
|
data: data,
|
||||||
|
user: user1
|
||||||
|
).perform).to eq(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "validates the data when one of the conditions are met" do
|
||||||
|
custom_data = data.dup
|
||||||
|
custom_data['input_1'] = 'value 3'
|
||||||
|
expect(CustomWizard::Mapper.new(
|
||||||
|
inputs: inputs['validation_multiple_pairs'],
|
||||||
|
data: custom_data,
|
||||||
|
user: user1
|
||||||
|
).perform).to eq(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "doesn't validate the data when none of the conditions are met" do
|
||||||
|
custom_data = data.dup
|
||||||
|
custom_data['input_1'] = 'value 3'
|
||||||
|
custom_data['input_2'] = 'value 4'
|
||||||
|
expect(CustomWizard::Mapper.new(
|
||||||
|
inputs: inputs['validation_multiple_pairs'],
|
||||||
|
data: custom_data,
|
||||||
|
user: user1
|
||||||
|
).perform).to eq(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "maps text fields" do
|
it "maps text fields" do
|
||||||
|
|
29
spec/fixtures/mapper/inputs.json
gevendort
29
spec/fixtures/mapper/inputs.json
gevendort
|
@ -260,5 +260,34 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"validation_multiple_pairs": [
|
||||||
|
{
|
||||||
|
"type": "validation",
|
||||||
|
"pairs": [
|
||||||
|
{
|
||||||
|
"index": 0,
|
||||||
|
"key": "input_1",
|
||||||
|
"key_type": "wizard_field",
|
||||||
|
"value": "value 1",
|
||||||
|
"value_type": "text",
|
||||||
|
"connector": "equal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "validation",
|
||||||
|
"connector": "or",
|
||||||
|
"pairs": [
|
||||||
|
{
|
||||||
|
"index": 0,
|
||||||
|
"key": "input_2",
|
||||||
|
"key_type": "wizard_field",
|
||||||
|
"value": "value 2",
|
||||||
|
"value_type": "text",
|
||||||
|
"connector": "equal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Laden …
In neuem Issue referenzieren