예제 #1
0
        public ActionResult PetitionDetails(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/PetitionDetails", model));
        }
예제 #2
0
        public ActionResult EditPetition(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/EditPetition", model));
        }
예제 #3
0
        public ActionResult VerifyPetition(int petitionId)
        {
            var service = new PetitionService();

            service.VerifyPetition(petitionId, User.Identity.GetUserId());
            var model = service.GetPetition(petitionId, User.Identity.GetUserId());

            return(PartialView("_Sign", model));
        }
예제 #4
0
        public void DeletePetition_New_Deleted()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                var id = service.CreateNewPetition(model);
                Assert.AreNotEqual(0, id, "ID not created");

                savedModel = service.GetPetition(id, user.Id);
                Assert.IsNotNull(savedModel);

                service.DeletePetition(id);
                savedModel = service.GetPetition(id, user.Id);
                Assert.IsNull(savedModel);
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(model.PetitionID);
                }
            }
        }
예제 #5
0
        public ActionResult Details(int?petitionId = null)
        {
            if (petitionId == null)
            {
                return(HttpNotFound());
            }

            var service = new PetitionService();
            var model   = service.GetPetition(petitionId.Value, User.Identity.IsAuthenticated ? User.Identity.GetUserId() : null);

            if (model == null)
            {
                return(HttpNotFound());
            }

            return(View(model));
        }
예제 #6
0
        public void UpdatePetition_New_Updated()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;
            int petitionID = 0;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                petitionID = service.CreateNewPetition(model);
                Assert.AreNotEqual(0, petitionID, "ID not created");

                savedModel = service.GetPetition(petitionID, user.Id);
                Assert.IsNotNull(savedModel);

                string newTitle = "Some new title";
                savedModel.Title = newTitle;
                var changedModel = service.UpdatePetition(savedModel, user.Id);

                Assert.IsNotNull(savedModel);
                Assert.AreEqual(newTitle, changedModel.Title, "Title Changed");
                Assert.AreEqual(changedModel.Description, model.Description, "Description did not change");
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(petitionID);
                }
            }
        }
예제 #7
0
        public void GetPetition_NewVerified_NonVerified()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;
            int petitionID = 0;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                petitionID = service.CreateNewPetition(model);

                Assert.AreNotEqual(0, petitionID, "ID not created");

                savedModel = service.GetPetition(petitionID, user.Id);

                Assert.IsFalse(savedModel.Verified, "Petition should be non verified");
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(petitionID);
                }
            }
        }
예제 #8
0
        public void SignPetition_OneUser_OneUSerSigned()
        {
            var creator = Helpers.CreateNewUser();
            var signer  = Helpers.CreateNewUser();

            var pettition = Helpers.CreateNewPetition(creator);

            try
            {
                var service = new PetitionService();

                service.Sign(pettition, signer.Id);

                var actualPetition = service.GetPetition(pettition);

                Assert.AreEqual(1, actualPetition.Signatures);
            }
            finally
            {
                Helpers.DeleteUser(signer);
                Helpers.DeleteUser(creator);
            }
        }