예제 #1
0
        public async Task OnPageAsync()
        {
            #region Arrange

            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>()
                                 .UseInMemoryDatabase("InMemoryDb");
            var mockDb = new Mock <ApplicationDbContext>(optionsBuilder.Options);

            var expectedUsers = ApplicationDbContext.GetSeedMentor();
            var expectedUser  = expectedUsers.FirstOrDefault();
            var username      = expectedUser.UserName;

            mockDb.Setup(db => db.GetMentorAsync(username))
            .Returns(Task.FromResult(expectedUser));

            var certificates = ApplicationDbContext.GetSeedCertificates();

            var pageModel = new CertificatesModel(mockDb.Object);
            pageModel.Username    = username;
            pageModel.Certificate = certificates.FirstOrDefault();

            #endregion

            #region Act
            var result = await pageModel.OnPostAsync();

            #endregion

            #region Assert
            Assert.IsType <RedirectToPageResult>(result);
            #endregion
        }
        public async Task <IHttpActionResult> Get()
        {
            var bg = await db.CourseCertificates.ToListAsync();

            var temp = await db.CourseCertificateTemplates.ToListAsync();

            CertificatesModel model = new CertificatesModel
            {
                Background = bg.ToList(),
                Template   = temp.ToList()
            };

            return(Ok(model));
        }
예제 #3
0
        public async Task <ActionResult> ReviewCertificate(CertificatesModel model)
        {
            var response = await WepApiMethod.SendApiAsync <ReviewCertificateModel>(HttpVerbs.Post, $"eLearning/Courses/ReviewCertificate", model);

            if (response.isSuccess)
            {
                return(View(response.Data));
            }
            else
            {
                TempData["ErrorMessage"] = "Fail to assign certificate.";
            }

            return(View(model));
        }
        public IHttpActionResult GetCertificate(int id)
        {
            var course = db.Courses.Where(u => u.Id == id).FirstOrDefault();

            var bg   = db.CourseCertificates.ToList();
            var temp = db.CourseCertificateTemplates.ToList();

            CertificatesModel model = new CertificatesModel
            {
                Background                  = bg.ToList(),
                Template                    = temp.ToList(),
                CourseCertificateId         = course.CourseCertificateId != null ? course.CourseCertificateId.Value:0,
                CourseCertificateTemplateId = course.CourseCertificateTemplateId != null ? course.CourseCertificateTemplateId.Value : 0,
            };

            return(Ok(model));
        }
예제 #5
0
        public void OnGet()
        {
            #region Arrange
            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>()
                                 .UseInMemoryDatabase("InMemoryDb");
            var mockDb = new ApplicationDbContext(optionsBuilder.Options);

            var pageModel = new CertificatesModel(mockDb);
            #endregion

            #region Act
            var page = pageModel.OnGet();
            #endregion

            #region Assert
            Assert.Equal(
                typeof(PageResult),
                page.GetType());
            #endregion
        }
예제 #6
0
        public async Task OnPageAsync_InvalidModelState()
        {
            #region Arrange

            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>()
                                 .UseInMemoryDatabase("InMemoryDb");
            var mockDb = new Mock <ApplicationDbContext>(optionsBuilder.Options);

            var expectedUsers = ApplicationDbContext.GetSeedMentor();
            var expectedUser  = expectedUsers.FirstOrDefault();
            var username      = expectedUser.UserName;

            mockDb.Setup(db => db.GetMentorAsync(username))
            .Returns(Task.FromResult(expectedUser));

            var certificates = ApplicationDbContext.GetSeedCertificates();

            var pageModel = new CertificatesModel(mockDb.Object);
            pageModel.Username    = username;
            pageModel.Certificate = certificates.FirstOrDefault();
            pageModel.ModelState.AddModelError("This is an test error", "Error Message!");

            #endregion

            #region Act
            var result = await pageModel.OnPostAsync();

            #endregion

            #region Assert
            Assert.IsType <RedirectResult>(result);

            var pageResult = result as RedirectResult;
            var url        = pageResult.Url;
            Assert.Contains(
                "Error", url);
            #endregion
        }