Which tests don’t you automate, and why code example

Example 1: when to choose automation

I would choose automation over manual
-If it is repetitive
-If the test cases are high priority test cases
-If the functionality is critical functionality
-If the test cases are too long and too difficult to execute.
-I would automate smoke test cases and also
-we should automate regression test cases as much as possible
based on the priority

Example 2: test should not automated

Tests that should not be automated:

-Unstable test cases
-Tests that you will only run only once.
-The only exception to this rule is that
if you want to execute a test with a very large 
set of data, even if it’s only once,
then it makes sense to automate it.
-Unfinished functionality
-Visual test cases
-Also Tests that need to be run ASAP
which usually a new feature which is
developed requires a quick feedback
so testing it manually at first making sense.