@@ -324,6 +324,55 @@ def test_commit_when_nothing_to_commit(config, mocker: MockFixture):
324324 assert "No files added to staging!" in str (excinfo .value )
325325
326326
327+ @pytest .mark .usefixtures ("staging_is_clean" )
328+ def test_commit_with_allow_empty (config , mocker : MockFixture ):
329+ prompt_mock = mocker .patch ("questionary.prompt" )
330+ prompt_mock .return_value = {
331+ "prefix" : "feat" ,
332+ "subject" : "user created" ,
333+ "scope" : "" ,
334+ "is_breaking_change" : False ,
335+ "body" : "closes #21" ,
336+ "footer" : "" ,
337+ }
338+
339+ commit_mock = mocker .patch ("commitizen.git.commit" )
340+ commit_mock .return_value = cmd .Command ("success" , "" , b"" , b"" , 0 )
341+ success_mock = mocker .patch ("commitizen.out.success" )
342+
343+ commands .Commit (config , {"extra_cli_args" : "--allow-empty" })()
344+
345+ commit_mock .assert_called_with (
346+ "feat: user created\n \n closes #21" , args = "--allow-empty"
347+ )
348+ success_mock .assert_called_once ()
349+
350+
351+ @pytest .mark .usefixtures ("staging_is_clean" )
352+ def test_commit_with_signoff_and_allow_empty (config , mocker : MockFixture ):
353+ prompt_mock = mocker .patch ("questionary.prompt" )
354+ prompt_mock .return_value = {
355+ "prefix" : "feat" ,
356+ "subject" : "user created" ,
357+ "scope" : "" ,
358+ "is_breaking_change" : False ,
359+ "body" : "closes #21" ,
360+ "footer" : "" ,
361+ }
362+
363+ commit_mock = mocker .patch ("commitizen.git.commit" )
364+ commit_mock .return_value = cmd .Command ("success" , "" , b"" , b"" , 0 )
365+ success_mock = mocker .patch ("commitizen.out.success" )
366+
367+ config .settings ["always_signoff" ] = True
368+ commands .Commit (config , {"extra_cli_args" : "--allow-empty" })()
369+
370+ commit_mock .assert_called_with (
371+ "feat: user created\n \n closes #21" , args = "--allow-empty -s"
372+ )
373+ success_mock .assert_called_once ()
374+
375+
327376@pytest .mark .usefixtures ("staging_is_clean" )
328377def test_commit_when_customized_expected_raised (config , mocker : MockFixture , capsys ):
329378 _err = ValueError ()
0 commit comments