@@ -270,6 +270,70 @@ test_comment_id_logic() {
270270 fi
271271}
272272
273+ # Test Suite: Input Validation
274+ test_input_validation () {
275+ echo " "
276+ echo -e " ${YELLOW} Testing: Input Validation${NC} "
277+ echo " ========================================"
278+
279+ # Test that at least one check must be enabled
280+ # Simulate both checks disabled (this should fail)
281+ CHECK_COMMITS=" false"
282+ CHECK_PR=" false"
283+
284+ if [ " $CHECK_COMMITS " = " false" ] && [ " $CHECK_PR " = " false" ]; then
285+ TESTS_RUN=$(( TESTS_RUN + 1 ))
286+ TESTS_PASSED=$(( TESTS_PASSED + 1 ))
287+ echo -e " ${GREEN} ✓${NC} Both checks disabled should be detected as invalid"
288+ else
289+ TESTS_RUN=$(( TESTS_RUN + 1 ))
290+ TESTS_FAILED=$(( TESTS_FAILED + 1 ))
291+ echo -e " ${RED} ✗${NC} Both checks disabled should be detected as invalid"
292+ fi
293+
294+ # Test check-commits enabled, check-pr disabled (valid)
295+ CHECK_COMMITS=" true"
296+ CHECK_PR=" false"
297+
298+ if [ " $CHECK_COMMITS " = " true" ] || [ " $CHECK_PR " = " true" ]; then
299+ TESTS_RUN=$(( TESTS_RUN + 1 ))
300+ TESTS_PASSED=$(( TESTS_PASSED + 1 ))
301+ echo -e " ${GREEN} ✓${NC} Only check-commits enabled should be valid"
302+ else
303+ TESTS_RUN=$(( TESTS_RUN + 1 ))
304+ TESTS_FAILED=$(( TESTS_FAILED + 1 ))
305+ echo -e " ${RED} ✗${NC} Only check-commits enabled should be valid"
306+ fi
307+
308+ # Test check-commits disabled, check-pr enabled (valid)
309+ CHECK_COMMITS=" false"
310+ CHECK_PR=" true"
311+
312+ if [ " $CHECK_COMMITS " = " true" ] || [ " $CHECK_PR " = " true" ]; then
313+ TESTS_RUN=$(( TESTS_RUN + 1 ))
314+ TESTS_PASSED=$(( TESTS_PASSED + 1 ))
315+ echo -e " ${GREEN} ✓${NC} Only check-pull-request enabled should be valid"
316+ else
317+ TESTS_RUN=$(( TESTS_RUN + 1 ))
318+ TESTS_FAILED=$(( TESTS_FAILED + 1 ))
319+ echo -e " ${RED} ✗${NC} Only check-pull-request enabled should be valid"
320+ fi
321+
322+ # Test both checks enabled (valid)
323+ CHECK_COMMITS=" true"
324+ CHECK_PR=" true"
325+
326+ if [ " $CHECK_COMMITS " = " true" ] || [ " $CHECK_PR " = " true" ]; then
327+ TESTS_RUN=$(( TESTS_RUN + 1 ))
328+ TESTS_PASSED=$(( TESTS_PASSED + 1 ))
329+ echo -e " ${GREEN} ✓${NC} Both checks enabled should be valid"
330+ else
331+ TESTS_RUN=$(( TESTS_RUN + 1 ))
332+ TESTS_FAILED=$(( TESTS_FAILED + 1 ))
333+ echo -e " ${RED} ✗${NC} Both checks enabled should be valid"
334+ fi
335+ }
336+
273337# Run all tests
274338main () {
275339 echo " ========================================"
@@ -283,6 +347,7 @@ main() {
283347 test_short_sha
284348 test_env_checks
285349 test_comment_id_logic
350+ test_input_validation
286351
287352 # Print summary
288353 echo " "
0 commit comments