Example #1
0
        public TestQuery(ITestApplicationDriver testDriver)
        {
            Name = "TestQuery";

            #region Exam
            Field <ExamType>(
                "examByID",
                arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "examID"
            }),
                resolve: context => testDriver.GetExam(context.GetArgument <int>("examID")));
            Field <ListGraphType <ExamType> >(
                "examByUserID",
                arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "userID"
            }),
                resolve: context => testDriver.GetExamByUser(context.GetArgument <int>("userID")));

            Field <ListGraphType <ExamType> >(
                "examByTeacherID",
                arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "teacherID"
            }),
                resolve: context => testDriver.GetExamByTeacher(context.GetArgument <int>("teacherID")));
            Field <ListGraphType <ExamType> >(
                "exams",
                resolve: context => testDriver.GetExams());
            Field <ListGraphType <ExamQuestionType> >(
                "examQuestions",
                arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "examID"
            }),
                resolve: context => testDriver.GetExamQuestions(context.GetArgument <int>("examID")));

            #endregion
            #region Conversion
            Field <ConversionType>(
                "conversionByID",
                arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "conversionID"
            }),
                resolve: context => testDriver.GetConversion(context.GetArgument <int>("conversionID")));
            Field <ListGraphType <ConversionType> >(
                "conversions",
                resolve: context => testDriver.GetConversionTable());

            #endregion
        }
        public TestMutation(ITestApplicationDriver testDriver, ILogger <TestMutation> logger)
        {
            _testDriver = testDriver;
            _logger     = logger;


            Name = "TestMutation";

            Field <BooleanGraphType>(
                "AddExam",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ExamInputType> > {
                Name = "examAdd"
            }),
                resolve: context => ManageExams(context, ExamOperations.AddExam));

            Field <BooleanGraphType>(
                "AddQuestion",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ExamQuestionInputType> > {
                Name = "questionAdd"
            }),
                resolve: context => ManageExams(context, ExamOperations.AddQuestion));
            Field <BooleanGraphType>(
                "AddAnswer",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ExamAnswerInputType> > {
                Name = "answerAdd"
            }),
                resolve: context => ManageExams(context, ExamOperations.AddAnswer));
            Field <ListGraphType <ReportType> >(
                "submitToTeacher",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ExamInputType> > {
                Name = "submitTeacher"
            }),
                resolve: context => ManageExams(context, ExamOperations.SubmitExamToTeacher));
            Field <BooleanGraphType>(
                "submitToStudent",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ExamInputType> > {
                Name = "submitStudent"
            }),
                resolve: context => ManageExams(context, ExamOperations.SubmitExamToStudent));
        }