예제 #1
0
        public void FetchPostsIfNeeded_ShouldFetchPostAsync()
        {
            Task.Run(async() => {
                var store = new RedditStore();
                await store.Dispatch(Actions.FetchPostsIfNeeded("frontend"));

                var state = store.GetState();
                Assert.NotNull(state.postsBySubreddit);

                Assert.True(state.postsBySubreddit.ContainsKey("frontend"));
                Assert.False(state.postsBySubreddit["frontend"].isFetching);
                Assert.NotNull(state.postsBySubreddit["frontend"].items);
            }).GetAwaiter().GetResult();
        }
예제 #2
0
        public void StoreShouldAddNewSubredditOnRequest()
        {
            var store = new RedditStore();

            Assert.AreEqual(null, store.GetState());

            store.Dispatch(new Actions.RequestPosts()
            {
                subreddit = "frontend"
            });

            Assert.True(store.GetState().postsBySubreddit.ContainsKey("frontend"));
            Assert.True(store.GetState().postsBySubreddit["frontend"].isFetching);
        }
예제 #3
0
        public IEnumerator FetchPostsIfNeeded_ShouldFetchPostAsync()
        {
            UnityThread.CreateUnityThreadInstance();

            var store = new RedditStore();

            store.Dispatch(Actions.FetchPostsIfNeeded("frontend"));

            yield return(new WaitForSeconds(1f));

            var state = store.GetState();

            Assert.NotNull(state.postsBySubreddit);

            Assert.True(state.postsBySubreddit.ContainsKey("frontend"));
            Assert.False(state.postsBySubreddit["frontend"].isFetching);
            Assert.NotNull(state.postsBySubreddit["frontend"].items);
        }
예제 #4
0
        public void StoreShouldHaveDefaultState()
        {
            var store = new RedditStore();

            Assert.AreEqual(null, store.GetState());
        }