Don’t spend a lot of time on this, because it isn’t a full blown feature. It’s just one little thing the client needs. Don’t go overboard, just quick and simple.
You can’t control how other people think. You can only control you. The client and sales have already had the meeting. They’ve already convinced themselves this is a quick easy feature. You can’t change this. But you can remind them of the policy:
All committed code needs tests.
Have this policy! Follow it! When you say no, you are a disgruntled programmer who doesn’t want to do work. When the policy requires tests, you are doing everything you can to get that request implemented. It will just take some time.
I was recently asked to build a small, one off workflow for a client. I was met with a bit of a shock when I asked why we weren’t making this a full feature. They honestly wanted to save time. They didn’t want this to get in the way. They didn’t want to go through the work of designing and implementing a new feature. I had just a couple questions:
Does this have to work correctly every time?
Does this have to integrate with the system without breaking anything else?
This a feature. It needs to be tested. It needs to work. It needs the time to be built correctly. Have the policies in place that allow you to build software the way it should be done.