Beispiel #1
0
        public IHttpActionResult ProfilePut([FromBody] ViewModel.Employer employer)
        {
            bool newEmployer = false;

            Domain.Employer e = null;
            e = findEmployerBy();
            if (e == null)
            {
                e           = new Domain.Employer();
                newEmployer = true;
            }
            e.onlineSigninID = userSubject;
            e.email          = userEmail;
            map.Map <ViewModel.Employer, Domain.Employer>(employer, e);

            Domain.Employer result;
            if (newEmployer)
            {
                result = serv.Create(e, userEmail);
            }
            else
            {
                serv.Save(e, userEmail);
                result = serv.Get(e.ID);
            }
            var mapped = map.Map <Domain.Employer, ViewModel.Employer>(result);

            return(Json(new { data = mapped }));
        }
Beispiel #2
0
        public void EmployerController_edit_post_valid_updates_model_returns_json()
        {
            //Arrange
            const int testid        = 4242;
            var       fakeemployer  = new Domain.Employer();
            var       savedemployer = new Domain.Employer();

            serv.Setup(p => p.Get(testid)).Returns(fakeemployer);
            serv.Setup(x => x.Save(It.IsAny <Domain.Employer>(),
                                   It.IsAny <string>())
                       ).Callback((Domain.Employer p, string str) =>
            {
                savedemployer = p;
            });
            ctrlr.ValueProvider = form.ToValueProvider();
            //Act
            var result = ctrlr.Edit(testid, form, "UnitTest");

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(JsonResult));
            Assert.AreEqual("{ jobSuccess = True }", result.Data.ToString());
            Assert.AreEqual(fakeemployer, savedemployer);
            Assert.AreEqual(savedemployer.name, "blah");
            Assert.AreEqual(savedemployer.address1, "UnitTest");
            Assert.AreEqual(savedemployer.city, "footown");
        }
Beispiel #3
0
        public IHttpActionResult ProfilePost([FromBody] ViewModel.Employer employer)
        {
            Domain.Employer e = null;
            e = findEmployerBy();
            // If
            if (e != null)
            {
                return(Conflict());
            }

            var domain = map.Map <ViewModel.Employer, Domain.Employer>(employer);

            domain.onlineSigninID = userSubject;
            if (userEmail != null)
            {
                domain.email = userEmail;
            }
            try
            {
                serv.Create(domain, userEmail);
            }
            catch
            {
                return(InternalServerError());
            }
            return(Ok());
        }
Beispiel #4
0
        public ActionResult ProfilePut([FromBody] EmployerViewModel viewmodel)
        {
            bool newEmployer = false;
            var  employer    = findEmployerBySubjectOrEmail();

            if (employer == null)
            {
                employer    = new Domain.Employer();
                newEmployer = true;
            }
            employer.onlineSigninID = UserSubject;
            employer.email          = UserEmail;
            viewmodel.onlineSource  = true;
            map.Map <EmployerViewModel, Domain.Employer>(viewmodel, employer);

            Domain.Employer result;
            if (newEmployer)
            {
                result = serv.Create(employer, UserEmail);
            }
            else
            {
                serv.Save(employer, UserEmail);
                result = serv.Get(employer.ID);
            }
            var mapped = map.Map <Domain.Employer, EmployerViewModel>(result);

            return(new JsonResult(new { data = mapped }));
        }
Beispiel #5
0
        public ActionResult ProfilePost([FromBody] EmployerViewModel employer)
        {
            Domain.Employer e = null;
            e = findEmployerBySubjectOrEmail();
            // If
            if (e != null)
            {
                return(Conflict());
            }

            var domain = map.Map <EmployerViewModel, Domain.Employer>(employer);

            domain.onlineSigninID = UserSubject;
            if (UserEmail != null)
            {
                domain.email = UserEmail;
            }
            try
            {
                serv.Create(domain, UserEmail);
            }
            catch
            {
                return(StatusCode(500));
            }
            return(Ok());
        }
Beispiel #6
0
 public JsonResult Edit(int id, FormCollection collection, string userName)
 {
     Domain.Employer employer = serv.Get(id);
     UpdateModel(employer);
     serv.Save(employer, userName);
     return(Json(new
     {
         jobSuccess = true
     }, JsonRequestBehavior.AllowGet));
 }
Beispiel #7
0
        public JsonResult Create(Domain.Employer employer, string userName)
        {
            UpdateModel(employer);
            Domain.Employer newEmployer = serv.Create(employer, userName);
            var             result      = map.Map <Domain.Employer, ViewModel.Employer>(newEmployer);

            return(Json(new
            {
                sNewRef = result.tabref,
                sNewLabel = result.tablabel,
                iNewID = result.ID,
                jobSuccess = true
            },
                        JsonRequestBehavior.AllowGet));
        }
Beispiel #8
0
        public void EmployerController_edit_get_returns_employer()
        {
            //Arrange
            serv = new Mock <IEmployerService>();
            var fakeemployer = new Domain.Employer();

            serv.Setup(p => p.Get(Testid)).Returns(fakeemployer);
            woServ = new Mock <IWorkOrderService>();
            ctrlr  = new EmployerController(serv.Object, def.Object, map);
            //Act
            var result = ctrlr.Edit(Testid) as PartialViewResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result.ViewData.Model, typeof(Web.ViewModel.Employer));
        }
Beispiel #9
0
        public void create_post_invalid_throws_exception()
        {
            //Arrange
            var employer = new Domain.Employer();

            form.Remove("name");

            serv = new Mock <IEmployerService>();
            serv.Setup(p => p.Create(employer, "UnitTest")).Returns(employer);
            woServ = new Mock <IWorkOrderService>();
            ctrlr  = new EmployerController(serv.Object, def.Object, map);
            ctrlr.SetFakeControllerContext();
            ctrlr.ValueProvider = form.ToValueProvider();
            JsonResult result = ctrlr.Create(employer, "UnitTest");

            Assert.IsNotNull(result);
        }
Beispiel #10
0
        public void create_valid_post_returns_json()
        {
            //Arrange
            var employer = new Domain.Employer {
                ID = 4242, name = "unit test"
            };

            serv.Setup(p => p.Create(employer, "UnitTest")).Returns(employer);
            ctrlr.ValueProvider = form.ToValueProvider();
            //Act
            var result = ctrlr.Create(employer, "UnitTest");

            //Assert
            Assert.IsInstanceOfType(result, typeof(JsonResult));
            Assert.AreEqual("{ sNewRef = /Employer/Edit/12345, sNewLabel = blah, iNewID = 12345, jobSuccess = True }",
                            result.Data.ToString());
        }
Beispiel #11
0
        protected override void Initialize(HttpControllerContext controllerContext)
        {
            // base executes first to populate userSubject
            base.Initialize(controllerContext);

            employer = eServ.Get(guid: userSubject);
            if (employer == null)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content      = new StringContent(string.Format("No employer record associated with claim {0}", userSubject)),
                    ReasonPhrase = "Not found: employer record"
                });
            }
            paypalId     = cServ.getConfig(Cfg.PaypalId);
            paypalSecret = cServ.getConfig(Cfg.PaypalSecret);
            paypalUrl    = cServ.getConfig(Cfg.PaypalUrl);
        }
Beispiel #12
0
        public void EmployerController_edit_post_invalid_throws_exception()
        {
            //Arrange
            var employer = new Domain.Employer();

            //
            // Mock service and setup SaveEmployer mock
            serv.Setup(p => p.Save(employer, "UnitTest"));
            serv.Setup(p => p.Get(Testid)).Returns(employer);
            //
            // Mock HttpContext so that ModelState and FormCollection work
            form.Remove("phone");
            ctrlr.ValueProvider = form.ToValueProvider();
            //
            //Act
            //_ctrlr.ModelState.AddModelError("TestError", "foo");
            ctrlr.Edit(Testid, form, "UnitTest");
            //Assert
        }
Beispiel #13
0
        public Domain.Employer findEmployerBy()
        {
            Domain.Employer e = null;
            e = serv.Get(userSubject);
            if (e != null)
            {
                return(e);
            }

            // legacy accounts wont have an email; comes from a claim
            if (userEmail != null)
            {
                e = serv.GetMany(em => em.email == userEmail).SingleOrDefault();
                return(e);
            }
            return(e);
            // if we haven't found by userSubject, and userEmail is null, assume it's a
            // legacy account. Legacy accounts have self-attested emails for userNames
        }
Beispiel #14
0
        public Domain.Employer findEmployerBy()
        {
            Domain.Employer e = null;
            e = serv.Get(userSubject);
            if (e != null)
            {
                return(e);
            }

            // legacy accounts wont have an email; comes from a claim
            if (userEmail != null)
            {
                // If SingleOrDefault, then ~500 users will fail to login.
                // Need solution to de-duplicating employers before getting
                // string on emails duplication
                e = serv.GetMany(em => em.email == userEmail).OrderByDescending(em => em.dateupdated).FirstOrDefault();
                return(e);
            }
            return(e);
            // if we haven't found by userSubject, and userEmail is null, assume it's a
            // legacy account. Legacy accounts have self-attested emails for userNames
        }