public UserActiveRespose GetUserActiveRespose(int id)
        {
            var response = new UserActiveRespose();

            var user = this.userRepository.GetById(id);

            response.Email = user.Email;

            var posts = this.postRepository.GetPostsByUserId(id);

            var numberOfPosts = posts.Count;

            if (numberOfPosts < 5)
            {
                response.Status = UserPostsStatus.Inactive;
            }
            else
            {
                if (numberOfPosts > 5 && numberOfPosts < 10)
                {
                    response.Status = UserPostsStatus.Active;
                }
                else
                {
                    if (numberOfPosts >= 10)
                    {
                        response.Status = UserPostsStatus.Superactive;
                    }
                }
            }

            return(response);
        }
Exemple #2
0
        public void TestActiveScenario2()
        {
            IUserRepository userRepository = NSubstitute.Substitute.For <IUserRepository>();
            IPostRepository postRepository = NSubstitute.Substitute.For <IPostRepository>();

            userRepository.GetById(1).Returns(new Domain.User
            {
                Id    = 1,
                Email = "*****@*****.**"
            });

            postRepository.GetPostsByUserId(Arg.Any <int>()).Returns(new List <Post>()
            {
                new Post(),
                new Post(),
                new Post(),
                new Post(),
                new Post(),
                new Post(),
            });

            sut = new UserService(userRepository, postRepository);

            var expected = new UserActiveRespose()
            {
                Email  = "*****@*****.**",
                Status = UserPostsStatus.Active
            };

            var actual = sut.GetUserActiveRespose(1);

            Assert.AreEqual(expected.Email, actual.Email);
            Assert.AreEqual(expected.Status, actual.Status);
        }
Exemple #3
0
        public void Test()
        {
            IUserRepository userRepository = new UserDummyRepo();
            IPostRepository postRepository = new PostDummyRepo();

            sut = new UserService(userRepository, postRepository);

            var expected = new UserActiveRespose()
            {
                Email  = "*****@*****.**",
                Status = UserPostsStatus.Inactive
            };

            var actual = sut.GetUserActiveRespose(1);

            Assert.AreEqual(expected.Email, actual.Email);
            Assert.AreEqual(expected.Status, actual.Status);
        }