add tests for abstract model