public void TestGetSubmission()
        {
            // Arrange
            var repo       = InitRepo();
            var controller = new SubmissionsController(repo);

            // Act
            var sections = controller.Get(1, 1, 2).Sections;

            // Assert
            Assert.AreEqual(2, sections.Count);

            var field = sections.First().Fields.ElementAt(0);

            Assert.IsTrue(field is TextField);
            Assert.AreEqual("Field 1", ((TextField)field).Value);

            field = sections.First().Fields.ElementAt(1);
            Assert.IsTrue(field is TextField);
            Assert.AreEqual("Field 2", ((TextField)field).Value);

            field = sections.First().Fields.ElementAt(2);
            Assert.IsTrue(field is TextField);
            Assert.AreEqual("Field 3", ((TextField)field).Value);

            field = sections.Last().Fields.ElementAt(0);
            Assert.IsTrue(field is TextField);
            Assert.AreEqual("Field 4", ((TextField)field).Value);

            field = sections.Last().Fields.ElementAt(1);
            Assert.IsTrue(field is TextField);
            Assert.AreEqual("Field 5", ((TextField)field).Value);
        }
        public async Task SubmissionWithMaxEntries()
        {
            Guid serial = Guid.NewGuid();
            AcmeCorporationContext context    = getInMemDB("MaxEntriesOnOneSerial");
            SubmissionsController  controller = new SubmissionsController(context);

            Submission mock1 = MockSubmission(serial);
            Submission mock2 = MockSubmission(serial);
            Submission mock3 = MockSubmission(serial);

            await context.Submission.AddAsync(mock1);

            await context.Submission.AddAsync(mock2);

            await context.PurchasedProduct.AddAsync(new PurchasedProduct
            {
                ProductSerial = serial
            });

            await context.SaveChangesAsync();

            IActionResult result = await controller.Create(mock3);

            RedirectToActionResult actionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("ErrorPage", actionResult.ActionName);
            Assert.Equal("Home", actionResult.ControllerName);
            Assert.Equal(3, actionResult.RouteValues["contentId"]);
        }
示例#3
0
        public void TestOnlyEnterContestTwice()
        {
            using (var db = new AcmeDBEntities())
            {
                var controller = new SubmissionsController();
                var submission = new Submission()
                {
                    FirstName = "a", LastName = "b", Email = "*****@*****.**", Age = 20, Serialnumber = Guid.Parse("0FBF023F9CB946E58B780E820EC815CD"), DOB = DateTime.Now.AddYears(-20)
                };

                controller.Create(submission);
                var serial = db.Serialnumber.FirstOrDefault(x => submission.Serialnumber == x.Serialnumber1);
                Assert.AreEqual(1, serial.Counter);

                //controller.Create(submission);
                //serial = db.Serialnumber.FirstOrDefault(x => submission.Serialnumber == x.Serialnumber1);
                //Assert.AreEqual(0, serial.Counter);

                //try
                //{
                //    controller.Create(submission);
                //    serial = db.Serialnumber.FirstOrDefault(x => submission.Serialnumber == x.Serialnumber1);
                //    Assert.Fail();
                //} catch (Exception e)
                //{

                //}
            }
        }
示例#4
0
        private SubmissionsController SubmissionsController()
        {
            ConfigurationService configService = A.Fake <ConfigurationService>();
            var controller = new SubmissionsController(A.Fake <BreadcrumbService>(), () => weeeClient, A.Fake <IWeeeCache>(), A.Fake <CsvWriterFactory>());

            new HttpContextMocker().AttachToController(controller);
            return(controller);
        }
示例#5
0
        private void Setup(List <Submission> dataToLoad = null)
        {
            if (dataToLoad == null)
            {
                dataToLoad = new List <Submission>
                {
                    new Submission
                    {
                        SubmissionId = 1,
                        KataId       = 1,
                        Username     = "******",
                        TestsPassed  = 2,
                        TestsFailed  = 1,
                        ModifyDate   = DateTime.Today,
                        CreateDate   = DateTime.Today
                    }
                }
            }
            ;
            var submissionData = dataToLoad.AsQueryable();

            var mockSubmission = new Mock <DbSet <Submission> >();

            mockSubmission.As <IQueryable <Submission> >().Setup(m => m.ElementType).Returns(submissionData.ElementType);
            mockSubmission.As <IQueryable <Submission> >().Setup(m => m.Expression).Returns(submissionData.Expression);
            mockSubmission.As <IQueryable <Submission> >().Setup(m => m.Provider).Returns(submissionData.Provider);
            mockSubmission.Setup(a => a.Find(It.IsAny <object[]>())).Returns <object[]>(id => submissionData.FirstOrDefault(b => b.SubmissionId == (int)id[0]));

            var kataData = new List <Kata>
            {
                new Kata
                {
                    KataId       = 1,
                    Name         = "LeapYear",
                    Instructions = "Determine if the given year, is a leap year."
                }
            }.AsQueryable();

            var mockKata = new Mock <DbSet <Kata> >();

            mockKata.As <IQueryable <Kata> >().Setup(m => m.ElementType).Returns(kataData.ElementType);
            mockKata.As <IQueryable <Kata> >().Setup(m => m.Expression).Returns(kataData.Expression);
            mockKata.As <IQueryable <Kata> >().Setup(m => m.Provider).Returns(kataData.Provider);
            mockKata.Setup(a => a.Find(It.IsAny <object[]>())).Returns <object[]>(id => kataData.FirstOrDefault(b => b.KataId == (int)id[0]));

            var mockDb = new Mock <IDatabaseContext>();

            mockDb.Setup(m => m.Submissions).Returns(mockSubmission.Object);
            mockDb.Setup(m => m.Katas).Returns(mockKata.Object);

            var mockKataServiceClient = new Mock <IKataService>();

            mockKataServiceClient.Setup(s => s.GetSubmissionUrl(It.IsAny <byte[]>())).Returns("http://localhost/Katas/SubmissionResults.aspx");

            _submissionsController                   = new SubmissionsController();
            _submissionsController.Context           = mockDb.Object;
            _submissionsController.KataServiceClient = mockKataServiceClient.Object;
        }
        public void GetSubmissionId()
        {
            // Arrange
            var repo       = InitRepo();
            var controller = new SubmissionsController(repo);

            // Act
            var submissionId = controller.GetCurrent(1, 1, 1);

            // Assert
            Assert.AreEqual(1, submissionId);
        }
        public void TestSubmitSubmission()
        {
            // Arrange
            var repo       = InitRepo();
            var controller = new SubmissionsController(repo);

            // Act
            controller.Put(1, 1, 1);

            // Assert
            Assert.IsTrue(repo.Get <SubmissionEntity>().First().IsComplete);
        }
        public async Task SubmissionWithNoErrors()
        {
            Guid serial = Guid.NewGuid();
            AcmeCorporationContext context    = getInMemDB("Submit");
            SubmissionsController  controller = new SubmissionsController(context);

            Submission mock  = MockSubmission(serial);
            Submission mock1 = MockSubmission(serial);

            await context.PurchasedProduct.AddAsync(new PurchasedProduct
            {
                ProductSerial = serial
            });

            await context.SaveChangesAsync();

            await controller.Create(mock);

            await controller.Create(mock1);

            Assert.Equal(2, await context.Submission.CountAsync());
        }
 private SubmissionsController SubmissionsController()
 {
     ConfigurationService configService = A.Fake<ConfigurationService>();
     var controller = new SubmissionsController(A.Fake<BreadcrumbService>(), () => weeeClient, A.Fake<IWeeeCache>(), A.Fake<CsvWriterFactory>());
     new HttpContextMocker().AttachToController(controller);
     return controller;
 }