11package org .scalasteward .core .application
22
33import better .files .File
4+ import cats .data .Validated
45import cats .data .Validated .Valid
56import munit .FunSuite
67import org .http4s .syntax .literals ._
@@ -171,7 +172,7 @@ class CliTest extends FunSuite {
171172 val params = minimumRequiredParams ++ List (
172173 List (" --gitlab-merge-when-pipeline-succeeds" ),
173174 List (" --gitlab-remove-source-branch" ),
174- List (" --merge-request-level-approval-rule" , " All eligible users: 0" )
175+ List (" --merge-request-level-approval-rule" , " All eligible users= 0" )
175176 )
176177 val Success (StewardUsage .Regular (obtained)) = Cli .parseArgs(params.flatten)
177178
@@ -185,8 +186,8 @@ class CliTest extends FunSuite {
185186
186187 test(" parseArgs: multiple Gitlab merge request level approval rule" ) {
187188 val params = minimumRequiredParams ++ List (
188- List (" --merge-request-level-approval-rule" , " All eligible users: 1" ),
189- List (" --merge-request-level-approval-rule" , " Only Main: 2" )
189+ List (" --merge-request-level-approval-rule" , " All eligible users= 1" ),
190+ List (" --merge-request-level-approval-rule" , " Only Main= 2" )
190191 )
191192 val Success (StewardUsage .Regular (obtained)) = Cli .parseArgs(params.flatten)
192193
@@ -205,7 +206,7 @@ class CliTest extends FunSuite {
205206
206207 test(" parseArgs: only allow one way to define Gitlab required approvals arguments" ) {
207208 val params = minimumRequiredParams ++ List (
208- List (" --merge-request-level-approval-rule" , " All eligible users: 0" ),
209+ List (" --merge-request-level-approval-rule" , " All eligible users= 0" ),
209210 List (" --gitlab-required-reviewers" , " 5" )
210211 )
211212 val Error (errorMsg) = Cli .parseArgs(params.flatten)
@@ -229,7 +230,7 @@ class CliTest extends FunSuite {
229230
230231 test(" parseArgs: invalid GitLab merge request level approval rule" ) {
231232 val params = minimumRequiredParams ++ List (
232- List (" --merge-request-level-approval-rule" , " All eligible users: -3" )
233+ List (" --merge-request-level-approval-rule" , " All eligible users= -3" )
233234 )
234235 val Error (errorMsg) = Cli .parseArgs(params.flatten)
235236
@@ -304,4 +305,21 @@ class CliTest extends FunSuite {
304305 )
305306 assert(error.startsWith(" Missing value for option: --azure-repos-organization" ))
306307 }
308+
309+ test(" mergeRequestApprovalsConfigArgument: without equals sign" ) {
310+ assertEquals(
311+ Cli .mergeRequestApprovalsCfgArgument.read(" only-main" ),
312+ Validated .invalidNel(
313+ s " The value is expected in the following format: APPROVALS_RULE_NAME=REQUIRED_APPROVALS "
314+ )
315+ )
316+ }
317+
318+ test(" mergeRequestApprovalsConfigArgument: non-integer required approvals" ) {
319+ val nonIntegerRequiredApprovals = " two"
320+ assertEquals(
321+ Cli .mergeRequestApprovalsCfgArgument.read(s " only-main= $nonIntegerRequiredApprovals" ),
322+ Validated .invalidNel(s " [ $nonIntegerRequiredApprovals] is not a valid Integer " )
323+ )
324+ }
307325}
0 commit comments