From 948347a590a5579f81e0bd5017b0ac63b565f302 Mon Sep 17 00:00:00 2001 From: Cesar Diaz Date: Mon, 17 Jul 2023 15:28:01 -0300 Subject: [PATCH] - rule praxis * test for validates not repeated openness and confidence values --- .../acceptance/rule_praxis_controller_spec.rb | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/spec/acceptance/rule_praxis_controller_spec.rb b/spec/acceptance/rule_praxis_controller_spec.rb index ad731caa0..a5671ebc5 100644 --- a/spec/acceptance/rule_praxis_controller_spec.rb +++ b/spec/acceptance/rule_praxis_controller_spec.rb @@ -23,21 +23,51 @@ post "tool-groups/:id/rule-praxis" do requires_authorization + let(:tool_group_id) {ToolGroup.first.id} + let(:openness) {[1, 2]} + let(:confidence) {[4, 5]} - let(:attrs) do + let(:valid_attrs) do { - tool_group_id: ToolGroup.first.id, - openness: [123, 456], - confidence: [8, 9], + tool_group_id: tool_group_id, + openness: openness, + confidence: confidence, negative_rule: "true" } end - it "create rule praxis" do - do_request data: {type: "tool-group-rule-praxis", attributes: attrs} + let(:repeated_attrs) do + { + tool_group_id: tool_group_id, + openness: openness, + confidence: confidence, + negative_rule: "true" + } + end + + context "with valid openness and confidence values" do + it "create rule praxis" do + do_request data: {type: "tool-group-rule-praxis", attributes: valid_attrs} + + expect(status).to eq(201) + expect(JSON.parse(response_body)["data"]).not_to be_nil + end + end + + context "with repeated openness and confidence values" do + before do + FactoryBot.create(:rule_praxi, tool_group_id: tool_group_id, + openness: openness, + confidence: confidence) + end + + it "returns an error" do + do_request data: {type: "tool-group-rule-praxis", attributes: repeated_attrs} - expect(status).to eq(201) - expect(JSON.parse(response_body)["data"]).not_to be_nil + expect(status).to eq(422) + expect(JSON.parse(response_body)["data"]).to be_nil + expect(JSON.parse(response_body)["error"]["tool_group_id"][0]).to eql "combination already exists" + end end end