They are impossible to train reliably, in my experience (we have one and my parents have 2 at the moment and have had 2 previously when I was living at home.) I think, basically, they're smart enough that you can train them to obey lots of different commands...and do it flawlessly...but only when there isn't a more exciting alternative to doing as they're told.
95% of the time my JRT will do as he's told, but if he doesn't want to, I may as well be a mute!
I'd say my parents' JRTs are similar, apart from the percentage of the time that they listen is considerably less, but then they spent less time on their training.
Our other dog (border collie x chow) is really eager to please, as was the labrador we owned before these two, but the JRT, while very friendly, affectionate and nothing at all like the stereotypical "snappy terrier", really doesn't much care what anyone thinks of him..he's very much his own dog! 
I think you'd likely be fine regarding the cat, though, if you get a young puppy... The older cat will likely put the dog in his/her place while its still tiny and then they'll tolerate each other as the puppy grows up. It's JRTs that are unused to cats that you need to worry about. My MIL had a JRT x Chihuahua and that one would have killed a cat if it ever caught one, but she had never lived with a cat and just saw them as intruders into her garden.
We have 2 cats and one kitten. Our JRT and the 4 month old kitten play fight very energetically, but they both back off as soon as they hear a squeak/yelp of pain from the other one.