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
|
||||
|
||||
it "validates valid data" do
|
||||
expect(CustomWizard::Mapper.new(
|
||||
inputs: inputs['validation'],
|
||||
data: data,
|
||||
user: user1
|
||||
).perform).to eq(true)
|
||||
end
|
||||
context "conditional validation" do
|
||||
it "validates valid data" do
|
||||
expect(CustomWizard::Mapper.new(
|
||||
inputs: inputs['validation'],
|
||||
data: data,
|
||||
user: user1
|
||||
).perform).to eq(true)
|
||||
end
|
||||
|
||||
it "does not validate invalid data" do
|
||||
data["input_2"] = "value 3"
|
||||
expect(CustomWizard::Mapper.new(
|
||||
inputs: inputs['validation'],
|
||||
data: data,
|
||||
user: user1
|
||||
).perform).to eq(false)
|
||||
it "does not validate invalid data" do
|
||||
data["input_2"] = "value 3"
|
||||
expect(CustomWizard::Mapper.new(
|
||||
inputs: inputs['validation'],
|
||||
data: data,
|
||||
user: user1
|
||||
).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
|
||||
|
||||
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