Ejemplo n.º 1
0
        public async Task CreateAsync(CreateReflectionBindingModel reflectionBindingModel, string teacherName)
        {
            EdumanUser Student = this.context.Users.FirstOrDefault(u =>
                                                                   u.FirstName == reflectionBindingModel.StudentFirstName && u.LastName == reflectionBindingModel.StudentLastName &&
                                                                   u.IsConfirmed);

            EdumanUser Teacher =
                this.context.Users.FirstOrDefault(u => u.UserName == teacherName);

            if (Student == null || !(await userManager.IsInRoleAsync(Student, "Student")))
            {
                throw new Exception("The User is either non-existent or is not a student");
            }

            Reflection reflectionModel = new Reflection
            {
                DateCreated  = DateTime.Now,
                Description  = reflectionBindingModel.Description,
                StudentId    = Student.Id,
                TeacherId    = Teacher.Id,
                IsCompliment = reflectionBindingModel.IsCompliment
            };

            this.context.Reflections.Add(reflectionModel);
            this.context.SaveChanges();
        }
Ejemplo n.º 2
0
        public async Task Create_WithNonExistentUser_ShouldNotIncludeIntoDatabase()
        {
            await roleManager.CreateAsync(new IdentityRole("Student"));

            await roleManager.CreateAsync(new IdentityRole("Teacher"));

            await roleManager.CreateAsync(new IdentityRole("Principal"));


            EdumanUser teacher = new EdumanUser
            {
                UserName    = "******",
                IsConfirmed = true,
                Id          = "TestTeacherId"
            };

            this.userManager.CreateAsync(teacher).GetAwaiter();

            userManager.AddToRoleAsync(teacher, "Teacher").GetAwaiter();

            this.Context.SaveChanges();

            CreateReflectionBindingModel model = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = true
            };

            // Assert
            var ex = Assert.ThrowsAsync <Exception>(() => reflectionService.CreateAsync(model, "teacherName"));

            Assert.AreEqual(ex.Message, "The User is either non-existent or is not a student");
        }
Ejemplo n.º 3
0
        public async Task Details_DifferentUser_ShouldReturnNoData()
        {
            await roleManager.CreateAsync(new IdentityRole("Student"));

            await roleManager.CreateAsync(new IdentityRole("Teacher"));

            await roleManager.CreateAsync(new IdentityRole("Principal"));

            EdumanUser student = new EdumanUser
            {
                UserName    = "******",
                FirstName   = "Student",
                LastName    = "TestName",
                IsConfirmed = true,
                Id          = "TestStudentId",
                School      = "TestSchool"
            };

            EdumanUser teacher = new EdumanUser
            {
                UserName    = "******",
                IsConfirmed = true,
                Id          = "TestTeacherId",
                FirstName   = "TeacherFirstName",
                LastName    = "TeacherLastName"
            };

            this.userManager.CreateAsync(student).GetAwaiter();
            this.userManager.CreateAsync(teacher).GetAwaiter();

            userManager.AddToRoleAsync(student, "Student").GetAwaiter();
            userManager.AddToRoleAsync(teacher, "Teacher").GetAwaiter();

            this.Context.SaveChanges();

            CreateReflectionBindingModel model = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = true
            };

            await reflectionService.CreateAsync(model, "teacherName");

            var id = (reflectionService.GetAllComplimentsAsync("TestStudentId").GetAwaiter().GetResult().FirstOrDefault()).Id;

            var reflectionDetails = await reflectionService.GetReflectionDetails(id);

            // Assert
            Assert.AreEqual("Student", reflectionDetails.StudentFirstName);
            Assert.AreEqual("TestName", reflectionDetails.StudentLastName);
            Assert.AreEqual("TestReflectionDescription", reflectionDetails.Description);
            Assert.AreEqual("TeacherFirstName", reflectionDetails.TeacherFirstName);
            Assert.AreEqual("TeacherLastName", reflectionDetails.TeacherLastName);
            Assert.AreEqual(true, reflectionDetails.IsCompliment);
        }
Ejemplo n.º 4
0
        public async Task All_DifferentUser_ShouldReturnNoData()
        {
            await roleManager.CreateAsync(new IdentityRole("Student"));

            await roleManager.CreateAsync(new IdentityRole("Teacher"));

            await roleManager.CreateAsync(new IdentityRole("Principal"));

            EdumanUser student = new EdumanUser
            {
                UserName    = "******",
                FirstName   = "Student",
                LastName    = "TestName",
                IsConfirmed = true,
                Id          = "TestStudentId"
            };
            EdumanUser anotherStudent = new EdumanUser
            {
                UserName    = "******",
                FirstName   = "Student1",
                LastName    = "TestName1",
                IsConfirmed = true,
                Id          = "TestStudentId1"
            };

            EdumanUser teacher = new EdumanUser
            {
                UserName    = "******",
                IsConfirmed = true,
                Id          = "TestTeacherId"
            };

            this.userManager.CreateAsync(student).GetAwaiter();
            this.userManager.CreateAsync(anotherStudent).GetAwaiter();
            this.userManager.CreateAsync(teacher).GetAwaiter();

            userManager.AddToRoleAsync(student, "Student").GetAwaiter();
            userManager.AddToRoleAsync(anotherStudent, "Student").GetAwaiter();
            userManager.AddToRoleAsync(teacher, "Teacher").GetAwaiter();

            this.Context.SaveChanges();

            CreateReflectionBindingModel model = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = true
            };

            await reflectionService.CreateAsync(model, "teacherName");

            var count = (reflectionService.GetAllComplimentsAsync("TestStudentId1").GetAwaiter().GetResult()).Count;

            // Assert
            Assert.AreEqual(0, count);
        }
Ejemplo n.º 5
0
 public async Task <IActionResult> Create(CreateReflectionBindingModel createReflectionBindingModel)
 {
     try
     {
         await reflectionService.CreateAsync(createReflectionBindingModel, this.User.Identity.Name);
     }
     catch (Exception e)
     {
         if (e.Message == "The User is either non-existent or is not a student")
         {
             return(this.View("~/Views/Shared/NonExistentStudentPage.cshtml"));
         }
     }
     return(this.RedirectToAction("Index", "Home"));
 }
Ejemplo n.º 6
0
        public async Task Create_WithValidData_ShouldIncludeIntoDatabase()
        {
            await roleManager.CreateAsync(new IdentityRole("Student"));

            await roleManager.CreateAsync(new IdentityRole("Teacher"));

            await roleManager.CreateAsync(new IdentityRole("Principal"));

            EdumanUser student = new EdumanUser
            {
                UserName    = "******",
                FirstName   = "Student",
                LastName    = "TestName",
                IsConfirmed = true,
                Id          = "TestStudentId"
            };

            EdumanUser teacher = new EdumanUser
            {
                UserName    = "******",
                IsConfirmed = true,
                Id          = "TestTeacherId"
            };

            this.userManager.CreateAsync(student).GetAwaiter();
            this.userManager.CreateAsync(teacher).GetAwaiter();

            userManager.AddToRoleAsync(student, "Student").GetAwaiter();
            userManager.AddToRoleAsync(teacher, "Teacher").GetAwaiter();

            this.Context.SaveChanges();

            CreateReflectionBindingModel model = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = true
            };

            await reflectionService.CreateAsync(model, "teacherName");

            var count = (reflectionService.GetAllComplimentsAsync("TestStudentId").GetAwaiter().GetResult()).Count + (reflectionService.GetAllCriticismsAsync("TestStudentId").GetAwaiter().GetResult()).Count;

            // Assert
            Assert.AreEqual(1, count);
        }
Ejemplo n.º 7
0
        public async Task AllCriticism_WithValidData_ShouldReturnCorrectData()
        {
            await roleManager.CreateAsync(new IdentityRole("Student"));

            await roleManager.CreateAsync(new IdentityRole("Teacher"));

            await roleManager.CreateAsync(new IdentityRole("Principal"));

            EdumanUser student = new EdumanUser
            {
                UserName    = "******",
                FirstName   = "Student",
                LastName    = "TestName",
                IsConfirmed = true,
                Id          = "TestStudentId"
            };

            EdumanUser teacher = new EdumanUser
            {
                UserName    = "******",
                IsConfirmed = true,
                Id          = "TestTeacherId"
            };

            this.userManager.CreateAsync(student).GetAwaiter();
            this.userManager.CreateAsync(teacher).GetAwaiter();

            userManager.AddToRoleAsync(student, "Student").GetAwaiter();
            userManager.AddToRoleAsync(teacher, "Teacher").GetAwaiter();

            this.Context.SaveChanges();


            CreateReflectionBindingModel compliment = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = true
            };

            CreateReflectionBindingModel criticism = new CreateReflectionBindingModel()
            {
                StudentFirstName = "Student",
                StudentLastName  = "TestName",
                Description      = "TestReflectionDescription",
                IsCompliment     = false
            };

            await reflectionService.CreateAsync(compliment, "teacherName");

            await reflectionService.CreateAsync(criticism, "teacherName");

            var count            = (reflectionService.GetAllCriticismsAsync("TestTeacherId").GetAwaiter().GetResult()).Count;
            var reflectionResult = reflectionService.GetAllCriticismsAsync("TestTeacherId").GetAwaiter().GetResult().FirstOrDefault();

            // Assert
            Assert.AreEqual(1, count);
            Assert.AreEqual("TestReflectionDescription", reflectionResult.Description);
            Assert.AreEqual("studentName", reflectionResult.StudentUsername);
            Assert.AreEqual("teacherName", reflectionResult.TeacherUsername);
        }