unit tests for viewmodel