code.vegaprotocol.io/vega@v0.79.0/commands/proposal_submission_new_freeform_test.go (about) 1 // Copyright (C) 2023 Gobalsky Labs Limited 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 package commands_test 17 18 import ( 19 "testing" 20 21 "code.vegaprotocol.io/vega/commands" 22 types "code.vegaprotocol.io/vega/protos/vega" 23 commandspb "code.vegaprotocol.io/vega/protos/vega/commands/v1" 24 25 "github.com/stretchr/testify/assert" 26 ) 27 28 func TestCheckProposalSubmissionForNewFreeform(t *testing.T) { 29 t.Run("Submitting a new freeform change without new freeform fails", testNewFreeformChangeSubmissionWithoutNewFreeformFails) 30 t.Run("Submitting a new freeform proposal without rational URL and hash fails", testNewFreeformProposalSubmissionWithoutRationalURLandHashFails) 31 } 32 33 func testNewFreeformChangeSubmissionWithoutNewFreeformFails(t *testing.T) { 34 err := checkProposalSubmission(&commandspb.ProposalSubmission{ 35 Terms: &types.ProposalTerms{ 36 Change: &types.ProposalTerms_NewFreeform{}, 37 }, 38 }) 39 40 assert.Contains(t, err.Get("proposal_submission.terms.change.new_freeform"), commands.ErrIsRequired) 41 } 42 43 func testNewFreeformProposalSubmissionWithoutRationalURLandHashFails(t *testing.T) { 44 err := checkProposalSubmission(&commandspb.ProposalSubmission{ 45 Terms: &types.ProposalTerms{ 46 Change: &types.ProposalTerms_NewFreeform{}, 47 }, 48 Rationale: &types.ProposalRationale{}, 49 }) 50 51 assert.Contains(t, err.Get("proposal_submission.rationale.description"), commands.ErrIsRequired) 52 assert.Contains(t, err.Get("proposal_submission.rationale.title"), commands.ErrIsRequired) 53 }