public async Task Fill_empty_wall_list_with_fake_data()
        {
            var usersGet  = SubstituresForVkApi.UsersGet();
            var groupsGet = SubstituresForVkApi.GroupsGet();
            var wallList  = new WallList();

            var filler = new AvailableWallsFiller(usersGet, groupsGet);
            var info   = await filler.FillAsync(wallList);

            Assert.That(info.Succeed, Is.True);
            Assert.That(wallList.Items.Count, Is.EqualTo(3));
        }
        public AvailableWallsViewModel(IEventAggregator eventAggregator, AvailableWallsFiller filler, SharedWallContext sharedWallContext)
        {
            _eventAggregator   = eventAggregator;
            _filler            = filler;
            _sharedWallContext = sharedWallContext;
            WallList           = new WallList();

            WallList.ItemClicked += onWallItemClicked;
            _eventAggregator.GetEvent <WallSelectorEvents.FillWallRequest>().Subscribe(fillWallList);
            _eventAggregator.GetEvent <MainBottomEvents.Refresh>().Subscribe(fillWallList);

            _eventAggregator.GetEvent <AuthBarEvents.AuthorizationCompleted>()
            .Subscribe(authorized => IsAuthorized = authorized);
            _eventAggregator.GetEvent <AuthBarEvents.LogOutCompleted>()
            .Subscribe(() => IsAuthorized = false);
        }
        public async Task Fill_empty_wall_list_with_corrupted_users_data()
        {
            var usersGet = Substitute.For <IUsersGet>();

            usersGet.GetAsync(QueryParameters.No()).ReturnsForAnyArgs(new UsersGetResponse {
                Content = null
            });

            var groupsGet = SubstituresForVkApi.GroupsGet();
            var wallList  = new WallList();

            var filler = new AvailableWallsFiller(usersGet, groupsGet);
            var info   = await filler.FillAsync(wallList);

            Assert.That(info.Succeed, Is.False);
            Assert.That(info.ErrorMessage, Is.Not.Null);
        }