Rewrite preparation model tests based on Vendor model tests

Move into tests folder and use a dictionary to track test