public void CreateTest([FromBody] TestData testData)
        {
            var tokenString = Request.Headers["Authorization"];
            var token       = new TokenData(tokenString);

            if (!AuthManager.ValidateAuthToken(token))
            {
                Response.StatusCode = (int)HttpStatusCode.NetworkAuthenticationRequired;
                return;
            }
            if (!UsersManager.GetUser(token).HasRoot(RootEnum.Manager))
            {
                Response.StatusCode = (int)HttpStatusCode.Forbidden;
                return;
            }


            TestsManager.CreateTest(testData);
            var assigningData = new TestAssigningData();

            assigningData.ProgramId = testData.ProgramId;
            assigningData.TestId    = testData.TestId;
            ProgramsManager.AssignTestToProgram(assigningData);
        }
예제 #2
0
        public void Test()
        {
            //Default Test User Creation
            {
                var token = AuthManager.RegisterUser(new RegistrationData("user", "password")
                {
                    RootType = RootEnum.Candidate
                });

                TestsManager.CreateTest(new TestData
                {
                    Name      = "English",
                    Questions = new TestData.Question[2]
                    {
                        new TestData.Question
                        {
                            Answers = new TestData.Question.Answer[3]
                            {
                                new TestData.Question.Answer
                                {
                                    AnswerText = "A or b",
                                    IsCorrect  = true
                                },
                                new TestData.Question.Answer
                                {
                                    AnswerText = "nor A , nor b",
                                    IsCorrect  = true
                                },
                                new TestData.Question.Answer
                                {
                                    AnswerText = "A and B",
                                    IsCorrect  = false
                                }
                            },
                            QuestionText = "A or B is good letters?"
                        },
                        new TestData.Question
                        {
                            Answers = new TestData.Question.Answer[3]
                            {
                                new TestData.Question.Answer
                                {
                                    AnswerText = "A or C",
                                    IsCorrect  = true
                                },
                                new TestData.Question.Answer
                                {
                                    AnswerText = "nor A , nor C",
                                    IsCorrect  = true
                                },
                                new TestData.Question.Answer
                                {
                                    AnswerText = "A and C",
                                    IsCorrect  = false
                                }
                            },
                            QuestionText = "A or C is good letters?"
                        },
                    }
                });

                ProgramsManager.CreateProgram(new Model.Programs.ProgramData()
                {
                    Name   = "Bachelor 1st year",
                    Course = "Bachelor",
                });

                ProgramsManager.AssignTestToProgram(new TestAssigningData()
                {
                    ProgramId = ProgramsManager.Instance._programs.First().Id,
                    TestId    = TestsManager.Instance.Tests.First().TestId,
                });

                token = AuthManager.AuthUser(new AuthData("user", "password"));

                ProgramsManager.AssignCandidateToProgram(new UserAssigningData()
                {
                    CandidateId = UsersManager.GetUser(token).Id,
                    ProgramId   = ProgramsManager.Instance._programs.First().Id,
                });

                AuthManager.LogOutUser(token);
            }


            //Admin Creation
            {
                var token = AuthManager.RegisterUser(new RegistrationData("admin", "admin")
                {
                    RootType = RootEnum.Admin
                });

                AuthManager.LogOutUser(token);
            }

            //Manager Creation
            {
                var token = AuthManager.RegisterUser(new RegistrationData("manager", "manager")
                {
                    RootType = RootEnum.Manager
                });

                AuthManager.LogOutUser(token);
            }

            //Interviewer Creation
            {
                var token = AuthManager.RegisterUser(new RegistrationData("interviewer", "interviewer")
                {
                    RootType = RootEnum.Interviewer
                });

                AuthManager.LogOutUser(token);
            }
        }