Test enough so that you can feel comfortable that a bad refactor will be caught by the tests. Usually, its enough to test logic, and plumbing/wiring code. If you have code that is essentially getter/setters, why test them?
regarding the sales guy's opinion that testing isnt needed - well, if they know so much, why dont they do the bloody coding?