コード例 #1
0
        public async Task ReturnAllUserContests()
        {
            var options        = Utils.GetOptions(nameof(ReturnAllUserContests));
            var contestService = new Mock <IContestService>().Object;

            using (var arrContext = new PhotoContestContext(options))
            {
                await arrContext.UserContests.AddRangeAsync(Utils.SeedUserContests());

                await arrContext.Users.AddRangeAsync(Utils.SeedUsers());

                await arrContext.Contests.AddRangeAsync(Utils.SeedContests());

                await arrContext.SaveChangesAsync();
            }
            using (var actContext = new PhotoContestContext(options))
            {
                var sut    = new UserContestService(actContext, contestService);
                var result = await sut.GetAllUserContestsAsync();

                var userContest = await actContext.UserContests.ToListAsync();

                Assert.AreEqual(result.Count(), userContest.Count());
            }
        }
コード例 #2
0
        public async Task CalculatePointsCorrectly()
        {
            var options        = Utils.GetOptions(nameof(CalculatePointsCorrectly));
            var contestService = new Mock <IContestService>();

            using (var arrContext = new PhotoContestContext(options))
            {
                await arrContext.UserContests.AddRangeAsync(Utils.SeedUserContests());

                await arrContext.Users.AddRangeAsync(Utils.SeedUsers());

                await arrContext.Categories.AddRangeAsync(Utils.SeedCategories());

                await arrContext.Statuses.AddRangeAsync(Utils.SeedStatuses());

                await arrContext.Photos.AddRangeAsync(Utils.SeedPhotos());

                await arrContext.Contests.AddRangeAsync(Utils.SeedContests());

                await arrContext.Reviews.AddRangeAsync(Utils.SeedReviews());

                await arrContext.SaveChangesAsync();
            }
            using (var actContext = new PhotoContestContext(options))
            {
                var finishedContests = await actContext.Contests.Where(c => c.Status.Name == "Finished" && c.IsCalculated == false).ToListAsync();

                var userJohn = await actContext.Users.FirstOrDefaultAsync(u => u.UserName == "*****@*****.**");

                var userKyle = await actContext.Users.FirstOrDefaultAsync(u => u.UserName == "*****@*****.**");

                contestService.Setup(x => x.GetAllFinishedContestsAsync()).Returns(Task.FromResult(finishedContests));
                var sut = new UserContestService(actContext, contestService.Object);
                await sut.CalculatePointsAsync();

                Assert.AreEqual(userKyle.OverallPoints, 1236);
                Assert.AreEqual(userJohn.OverallPoints, 76);
            }
        }