added tests for basic post and refactored validation out into separate class
added tests for PUT and PATCH options