просто в MVP было легко тестировать данный момент у тебя в презентере есть контракты и ты чекаешь какой контракт был вызван в зависимости от нажатия на тот или иной ресурс изи
это мой боевой код. Послушаю критику с удовольствием. Во ViewModel private val _runFragment = SingleLiveEvent<FragmentType>() val runFragment: LiveData<FragmentType> = _runFragment в фрагменте viewModel.runFragment.observe(viewLifecycleOwner, Observer { it?.let { val f = Router.getNextFragment(it)