An Exercise in Sensibility – Unit Testing Emails

I’m a testing enthusiast.  I said as much at Knowledge16, and it’s not lip service.  If you haven’t figured out through reading my blog, testing is a subject near and dear to my heart.  It’s important.  It’s something developers need to do every day, for every piece of code they write.  Until now, testing emails has been tough for me.  Sure, I could test code that the email actions ran, but I couldn’t test emails themselves.  That is, until I remembered that ServiceNow can do a lot of cool things if you use the right way.  Today, we’re going to learn how to use it to test emails (specifically inbound email actions) in a way that’s pretty non-intrusive to other users.

Continue reading

An Exercise in Sensibility – Fixing List Collector Functions

I’m a pretty easy-going fellow.  Except when I’m wronged.  And really, it’s rare when I feel wronged.  So that’s probably why my “wronged” mode is pretty intense and spiteful.  A while ago, I reported an issue using the “moveOptionAndSort” function that is used to manipulate list collector values in client scripts.  (Which I learned about from ServiceNow Guru here, in the comments.)  After all, g_form.setValue doesn’t work for these elements.  My issue was met with “it’s not documented, tough luck.”  Not good enough.  And since I have requirements and a job to do, I guess I’ll just have to do this myself.

Continue reading

An Exercise in Sensibility – Dynamically Setting Catalog Variables Read-Only

Long ago, I created a “rework” activity, that allowed approvers a choice between “approve” and “reject”, so the user didn’t have to fill out a new request if just one or two pieces of the request was wrong.  Users were pretty big fans of it, one group in particular, since they have incorrect requests frequently.  It has it’s problems, but it’s serving us well.  I also mentioned along with this change, I made the catalog variables on the ritm and task forms read-only unless it was in a state of rework.  Today, we’ll take a look at how to accomplish that without pulling your hair out maintaining a huge list of variables.

Note: Sorry for the really long delay between posts.  I’ve been pretty busy at home, and not had a great deal of time for blogging.  Planning to crank out several over the next month to make up for that!

Continue reading