chore: format and generate gql schema / types
This commit is contained in:
parent
45c183e78b
commit
6f973d7e93
|
|
@ -21,6 +21,7 @@ const documents = {
|
|||
"\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument,
|
||||
"\n query courseSessionDetail($courseSessionId: ID!) {\n course_session(id: $courseSessionId) {\n id\n title\n course {\n id\n title\n slug\n }\n users {\n id\n user_id\n first_name\n last_name\n email\n avatar_url\n role\n circles {\n id\n title\n slug\n }\n }\n attendance_courses {\n id\n location\n trainer\n due_date {\n id\n start\n end\n }\n learning_content_id\n learning_content {\n id\n title\n circle {\n id\n title\n slug\n }\n }\n }\n assignments {\n id\n submission_deadline {\n id\n start\n }\n evaluation_deadline {\n id\n start\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n edoniq_tests {\n id\n deadline {\n id\n start\n end\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n }\n }\n": types.CourseSessionDetailDocument,
|
||||
"\n query courseQuery($slug: String!) {\n course(slug: $slug) {\n id\n title\n slug\n category_name\n action_competences {\n competence_id\n ...CoursePageFields\n performance_criteria {\n competence_id\n learning_unit {\n id\n slug\n evaluate_url\n }\n ...CoursePageFields\n }\n }\n learning_path {\n ...CoursePageFields\n topics {\n is_visible\n ...CoursePageFields\n circles {\n description\n goals\n ...CoursePageFields\n learning_sequences {\n icon\n ...CoursePageFields\n learning_units {\n evaluate_url\n ...CoursePageFields\n performance_criteria {\n ...CoursePageFields\n }\n learning_contents {\n can_user_self_toggle_course_completion\n content_url\n minutes\n description\n ...CoursePageFields\n ... on LearningContentAssignmentObjectType {\n assignment_type\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentEdoniqTestObjectType {\n checkbox_text\n has_extended_time_test\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentRichTextObjectType {\n text\n }\n }\n }\n }\n }\n }\n }\n }\n }\n": types.CourseQueryDocument,
|
||||
"\n query dashboardConfig {\n dashboard_config {\n id\n name\n dashboard_type\n }\n }\n": types.DashboardConfigDocument,
|
||||
"\n mutation SendFeedbackMutation(\n $courseSessionId: ID!\n $learningContentId: ID!\n $data: GenericScalar!\n $submitted: Boolean\n ) {\n send_feedback(\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n data: $data\n submitted: $submitted\n ) {\n feedback_response {\n id\n data\n submitted\n }\n errors {\n field\n messages\n }\n }\n }\n": types.SendFeedbackMutationDocument,
|
||||
};
|
||||
|
||||
|
|
@ -70,6 +71,10 @@ export function graphql(source: "\n query courseSessionDetail($courseSessionId:
|
|||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n query courseQuery($slug: String!) {\n course(slug: $slug) {\n id\n title\n slug\n category_name\n action_competences {\n competence_id\n ...CoursePageFields\n performance_criteria {\n competence_id\n learning_unit {\n id\n slug\n evaluate_url\n }\n ...CoursePageFields\n }\n }\n learning_path {\n ...CoursePageFields\n topics {\n is_visible\n ...CoursePageFields\n circles {\n description\n goals\n ...CoursePageFields\n learning_sequences {\n icon\n ...CoursePageFields\n learning_units {\n evaluate_url\n ...CoursePageFields\n performance_criteria {\n ...CoursePageFields\n }\n learning_contents {\n can_user_self_toggle_course_completion\n content_url\n minutes\n description\n ...CoursePageFields\n ... on LearningContentAssignmentObjectType {\n assignment_type\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentEdoniqTestObjectType {\n checkbox_text\n has_extended_time_test\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentRichTextObjectType {\n text\n }\n }\n }\n }\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query courseQuery($slug: String!) {\n course(slug: $slug) {\n id\n title\n slug\n category_name\n action_competences {\n competence_id\n ...CoursePageFields\n performance_criteria {\n competence_id\n learning_unit {\n id\n slug\n evaluate_url\n }\n ...CoursePageFields\n }\n }\n learning_path {\n ...CoursePageFields\n topics {\n is_visible\n ...CoursePageFields\n circles {\n description\n goals\n ...CoursePageFields\n learning_sequences {\n icon\n ...CoursePageFields\n learning_units {\n evaluate_url\n ...CoursePageFields\n performance_criteria {\n ...CoursePageFields\n }\n learning_contents {\n can_user_self_toggle_course_completion\n content_url\n minutes\n description\n ...CoursePageFields\n ... on LearningContentAssignmentObjectType {\n assignment_type\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentEdoniqTestObjectType {\n checkbox_text\n has_extended_time_test\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentRichTextObjectType {\n text\n }\n }\n }\n }\n }\n }\n }\n }\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n query dashboardConfig {\n dashboard_config {\n id\n name\n dashboard_type\n }\n }\n"): (typeof documents)["\n query dashboardConfig {\n dashboard_config {\n id\n name\n dashboard_type\n }\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,6 @@
|
|||
type Query {
|
||||
course_statistics(course_id: ID!): CourseStatisticsType
|
||||
dashboard_config: [DashboardConfigType!]!
|
||||
learning_path(id: ID, slug: String, course_id: ID, course_slug: String): LearningPathObjectType
|
||||
course_session_attendance_course(id: ID!, assignment_user_id: ID): CourseSessionAttendanceCourseObjectType
|
||||
course(id: ID, slug: String): CourseObjectType
|
||||
|
|
@ -19,6 +21,147 @@ type Query {
|
|||
assignment_completion(assignment_id: ID!, course_session_id: ID!, learning_content_page_id: ID, assignment_user_id: UUID): AssignmentCompletionObjectType
|
||||
}
|
||||
|
||||
type CourseStatisticsType {
|
||||
id: ID!
|
||||
course_title: String!
|
||||
course_session_properties: CourseSessionProperties!
|
||||
course_session_selection_ids: [ID]!
|
||||
course_session_selection_metrics: CourseSessionsSelectionMetrics!
|
||||
attendance_day_presences: AttendanceDayPresences!
|
||||
feedback_responses: FeedbackResponses!
|
||||
assignments: Assignments!
|
||||
competences: Competences!
|
||||
}
|
||||
|
||||
type CourseSessionProperties {
|
||||
sessions: [CourseSessionData]!
|
||||
generations: [String]!
|
||||
circles: [CircleData]!
|
||||
}
|
||||
|
||||
type CourseSessionData {
|
||||
session_id: ID!
|
||||
session_title: String!
|
||||
}
|
||||
|
||||
type CircleData {
|
||||
circle_id: ID!
|
||||
circle_title: String!
|
||||
experts: [String]!
|
||||
}
|
||||
|
||||
type CourseSessionsSelectionMetrics {
|
||||
session_count: Int!
|
||||
participant_count: Int!
|
||||
expert_count: Int!
|
||||
}
|
||||
|
||||
type AttendanceDayPresences {
|
||||
records: [PresenceRecord]!
|
||||
summary: AttendanceSummary!
|
||||
}
|
||||
|
||||
type PresenceRecord {
|
||||
course_session_id: ID!
|
||||
generation: String!
|
||||
circle_id: ID!
|
||||
due_date: String!
|
||||
participants_present: Int!
|
||||
participants_total: Int!
|
||||
cockpit_url: String!
|
||||
}
|
||||
|
||||
type AttendanceSummary {
|
||||
days_completed: Int!
|
||||
participants_present: Int!
|
||||
}
|
||||
|
||||
type FeedbackResponses {
|
||||
records: [FeedbackRecord]!
|
||||
summary: FeedbackSummary!
|
||||
}
|
||||
|
||||
type FeedbackRecord {
|
||||
course_session_id: ID!
|
||||
generation: String!
|
||||
circle_id: ID!
|
||||
satisfaction_average: Float!
|
||||
satisfaction_max: Int!
|
||||
}
|
||||
|
||||
type FeedbackSummary {
|
||||
satisfaction_average: Float!
|
||||
satisfaction_max: Int!
|
||||
total_responses: Int!
|
||||
}
|
||||
|
||||
type Assignments {
|
||||
records: [AssignmentRecord]!
|
||||
summary: AssignmentSummary!
|
||||
}
|
||||
|
||||
type AssignmentRecord {
|
||||
course_session_id: ID!
|
||||
course_session_assignment_id: ID!
|
||||
circle_id: ID!
|
||||
generation: String!
|
||||
assignment_type_translation_key: String!
|
||||
assignment_title: String!
|
||||
deadline: DateTime!
|
||||
metrics: AssignmentCompletionMetrics!
|
||||
details_url: String!
|
||||
}
|
||||
|
||||
"""
|
||||
The `DateTime` scalar type represents a DateTime
|
||||
value as specified by
|
||||
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
|
||||
"""
|
||||
scalar DateTime
|
||||
|
||||
type AssignmentCompletionMetrics {
|
||||
passed_count: Int!
|
||||
failed_count: Int!
|
||||
unranked_count: Int!
|
||||
ranking_completed: Boolean!
|
||||
average_passed: Float!
|
||||
}
|
||||
|
||||
type AssignmentSummary {
|
||||
completed_count: Int!
|
||||
average_passed: Float!
|
||||
}
|
||||
|
||||
type Competences {
|
||||
performances: [CompetencePerformance]!
|
||||
summary: CompletionSummary!
|
||||
}
|
||||
|
||||
type CompetencePerformance {
|
||||
course_session_id: ID!
|
||||
generation: String!
|
||||
circle_id: ID!
|
||||
success_count: Int!
|
||||
fail_count: Int!
|
||||
}
|
||||
|
||||
type CompletionSummary {
|
||||
success_total: Int!
|
||||
fail_total: Int!
|
||||
}
|
||||
|
||||
type DashboardConfigType {
|
||||
id: ID!
|
||||
name: String!
|
||||
dashboard_type: DashboardType!
|
||||
}
|
||||
|
||||
enum DashboardType {
|
||||
STATISTICS_DASHBOARD
|
||||
PROGRESS_DASHBOARD
|
||||
SIMPLE_LIST_DASHBOARD
|
||||
}
|
||||
|
||||
type LearningPathObjectType implements CoursePageInterface {
|
||||
id: ID!
|
||||
title: String!
|
||||
|
|
@ -214,13 +357,6 @@ type DueDateObjectType {
|
|||
course_session: CourseSessionObjectType!
|
||||
}
|
||||
|
||||
"""
|
||||
The `DateTime` scalar type represents a DateTime
|
||||
value as specified by
|
||||
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
|
||||
"""
|
||||
scalar DateTime
|
||||
|
||||
type CourseSessionObjectType {
|
||||
id: ID!
|
||||
created_at: DateTime!
|
||||
|
|
|
|||
|
|
@ -1,34 +1,53 @@
|
|||
export const ActionCompetenceObjectType = "ActionCompetenceObjectType";
|
||||
export const AssignmentAssignmentAssignmentTypeChoices = "AssignmentAssignmentAssignmentTypeChoices";
|
||||
export const AssignmentAssignmentCompletionCompletionStatusChoices = "AssignmentAssignmentCompletionCompletionStatusChoices";
|
||||
export const AssignmentCompletionMetrics = "AssignmentCompletionMetrics";
|
||||
export const AssignmentCompletionMutation = "AssignmentCompletionMutation";
|
||||
export const AssignmentCompletionObjectType = "AssignmentCompletionObjectType";
|
||||
export const AssignmentCompletionStatus = "AssignmentCompletionStatus";
|
||||
export const AssignmentObjectType = "AssignmentObjectType";
|
||||
export const AssignmentRecord = "AssignmentRecord";
|
||||
export const AssignmentSummary = "AssignmentSummary";
|
||||
export const Assignments = "Assignments";
|
||||
export const AttendanceCourseUserMutation = "AttendanceCourseUserMutation";
|
||||
export const AttendanceDayPresences = "AttendanceDayPresences";
|
||||
export const AttendanceSummary = "AttendanceSummary";
|
||||
export const AttendanceUserInputType = "AttendanceUserInputType";
|
||||
export const AttendanceUserObjectType = "AttendanceUserObjectType";
|
||||
export const AttendanceUserStatus = "AttendanceUserStatus";
|
||||
export const Boolean = "Boolean";
|
||||
export const CircleData = "CircleData";
|
||||
export const CircleLightObjectType = "CircleLightObjectType";
|
||||
export const CircleObjectType = "CircleObjectType";
|
||||
export const CompetenceCertificateListObjectType = "CompetenceCertificateListObjectType";
|
||||
export const CompetenceCertificateObjectType = "CompetenceCertificateObjectType";
|
||||
export const CompetencePerformance = "CompetencePerformance";
|
||||
export const Competences = "Competences";
|
||||
export const CompletionSummary = "CompletionSummary";
|
||||
export const CoreUserLanguageChoices = "CoreUserLanguageChoices";
|
||||
export const CourseCourseSessionUserRoleChoices = "CourseCourseSessionUserRoleChoices";
|
||||
export const CourseObjectType = "CourseObjectType";
|
||||
export const CoursePageInterface = "CoursePageInterface";
|
||||
export const CourseSessionAssignmentObjectType = "CourseSessionAssignmentObjectType";
|
||||
export const CourseSessionAttendanceCourseObjectType = "CourseSessionAttendanceCourseObjectType";
|
||||
export const CourseSessionData = "CourseSessionData";
|
||||
export const CourseSessionEdoniqTestObjectType = "CourseSessionEdoniqTestObjectType";
|
||||
export const CourseSessionObjectType = "CourseSessionObjectType";
|
||||
export const CourseSessionProperties = "CourseSessionProperties";
|
||||
export const CourseSessionUserExpertCircleType = "CourseSessionUserExpertCircleType";
|
||||
export const CourseSessionUserObjectsType = "CourseSessionUserObjectsType";
|
||||
export const CourseSessionsSelectionMetrics = "CourseSessionsSelectionMetrics";
|
||||
export const CourseStatisticsType = "CourseStatisticsType";
|
||||
export const DashboardConfigType = "DashboardConfigType";
|
||||
export const DashboardType = "DashboardType";
|
||||
export const Date = "Date";
|
||||
export const DateTime = "DateTime";
|
||||
export const DueDateObjectType = "DueDateObjectType";
|
||||
export const ErrorType = "ErrorType";
|
||||
export const FeedbackRecord = "FeedbackRecord";
|
||||
export const FeedbackResponseObjectType = "FeedbackResponseObjectType";
|
||||
export const FeedbackResponses = "FeedbackResponses";
|
||||
export const FeedbackSummary = "FeedbackSummary";
|
||||
export const Float = "Float";
|
||||
export const GenericScalar = "GenericScalar";
|
||||
export const ID = "ID";
|
||||
|
|
@ -52,6 +71,7 @@ export const LearningUnitObjectType = "LearningUnitObjectType";
|
|||
export const LearnpathLearningContentAssignmentAssignmentTypeChoices = "LearnpathLearningContentAssignmentAssignmentTypeChoices";
|
||||
export const Mutation = "Mutation";
|
||||
export const PerformanceCriteriaObjectType = "PerformanceCriteriaObjectType";
|
||||
export const PresenceRecord = "PresenceRecord";
|
||||
export const Query = "Query";
|
||||
export const SendFeedbackMutation = "SendFeedbackMutation";
|
||||
export const String = "String";
|
||||
|
|
|
|||
|
|
@ -268,3 +268,13 @@ export const COURSE_QUERY = graphql(`
|
|||
}
|
||||
}
|
||||
`);
|
||||
|
||||
export const DASHBOARD_CONFIG = graphql(`
|
||||
query dashboardConfig {
|
||||
dashboard_config {
|
||||
id
|
||||
name
|
||||
dashboard_type
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
<script setup lang="ts">
|
||||
import * as log from "loglevel";
|
||||
import { useQuery } from "@urql/vue";
|
||||
import { DASH_QUERY } from "@/graphql/queries";
|
||||
|
||||
log.debug("Dash created", DASH_QUERY);
|
||||
const queryResult = useQuery({
|
||||
query: DASH_QUERY,
|
||||
variables: {
|
||||
course_id: "-3",
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main class="px-8 py-8">
|
||||
{{ queryResult.data }}
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
@ -6,11 +6,7 @@ from rest_framework.response import Response
|
|||
from wagtail.models import Page
|
||||
|
||||
from vbv_lernwelt.core.utils import get_django_content_type
|
||||
from vbv_lernwelt.course.models import (
|
||||
CircleDocument,
|
||||
CourseCompletion,
|
||||
CourseSession,
|
||||
)
|
||||
from vbv_lernwelt.course.models import CircleDocument, CourseCompletion, CourseSession
|
||||
from vbv_lernwelt.course.serializers import (
|
||||
CourseCompletionSerializer,
|
||||
CourseSessionSerializer,
|
||||
|
|
@ -21,11 +17,11 @@ from vbv_lernwelt.course.services import mark_course_completion
|
|||
from vbv_lernwelt.files.models import UploadFile
|
||||
from vbv_lernwelt.files.services import FileDirectUploadService
|
||||
from vbv_lernwelt.iam.permissions import (
|
||||
has_course_access_by_page_request,
|
||||
has_course_access,
|
||||
is_course_session_expert,
|
||||
course_sessions_for_user_qs,
|
||||
has_course_access,
|
||||
has_course_access_by_page_request,
|
||||
is_circle_expert,
|
||||
is_course_session_expert,
|
||||
)
|
||||
|
||||
logger = structlog.get_logger(__name__)
|
||||
|
|
|
|||
|
|
@ -1,17 +1,28 @@
|
|||
import graphene
|
||||
|
||||
from vbv_lernwelt.course.models import CourseSession, Course
|
||||
from vbv_lernwelt.course.models import Course, CourseSession
|
||||
from vbv_lernwelt.course_session_group.models import CourseSessionGroup
|
||||
from vbv_lernwelt.dashboard.graphql.types.dashboard import CourseStatisticsType, DashboardConfigType, DashboardType
|
||||
from vbv_lernwelt.iam.permissions import can_view_course_session_group_statistics, can_view_course_session, \
|
||||
can_view_course_session_progress
|
||||
from vbv_lernwelt.dashboard.graphql.types.dashboard import (
|
||||
CourseStatisticsType,
|
||||
DashboardConfigType,
|
||||
DashboardType,
|
||||
)
|
||||
from vbv_lernwelt.iam.permissions import (
|
||||
can_view_course_session,
|
||||
can_view_course_session_group_statistics,
|
||||
can_view_course_session_progress,
|
||||
)
|
||||
|
||||
|
||||
class DashboardQuery(graphene.ObjectType):
|
||||
course_statistics = graphene.Field(CourseStatisticsType, course_id=graphene.ID(required=True))
|
||||
dashboard_config = graphene.List(DashboardConfigType, required=True)
|
||||
course_statistics = graphene.Field(
|
||||
CourseStatisticsType, course_id=graphene.ID(required=True)
|
||||
)
|
||||
dashboard_config = graphene.List(
|
||||
graphene.NonNull(DashboardConfigType), required=True
|
||||
)
|
||||
|
||||
def resolve_course_statistics(root, info, course_id: str): # noqa
|
||||
def resolve_course_statistics(root, info, course_id: str): # noqa
|
||||
user = info.context.user
|
||||
course = Course.objects.get(id=course_id)
|
||||
|
||||
|
|
@ -19,18 +30,20 @@ class DashboardQuery(graphene.ObjectType):
|
|||
|
||||
for group in CourseSessionGroup.objects.filter(course=course):
|
||||
if can_view_course_session_group_statistics(user=user, group=group):
|
||||
course_session_ids.update(group.course_session.all().values_list("id", flat=True))
|
||||
course_session_ids.update(
|
||||
group.course_session.all().values_list("id", flat=True)
|
||||
)
|
||||
|
||||
if not course_session_ids:
|
||||
return None
|
||||
|
||||
return CourseStatisticsType(
|
||||
id=course.id,
|
||||
course_title=course.title, # noqa
|
||||
course_session_selection_ids=list(course_session_ids),
|
||||
) # noqa
|
||||
|
||||
return CourseStatisticsType(id=course.id, course_title=course.title, # noqa
|
||||
course_session_selection_ids=list(course_session_ids)) # noqa
|
||||
|
||||
|
||||
|
||||
def resolve_dashboard_config(root, info): # noqa
|
||||
def resolve_dashboard_config(root, info): # noqa
|
||||
user = info.context.user
|
||||
|
||||
course_index = set()
|
||||
|
|
@ -44,7 +57,7 @@ class DashboardQuery(graphene.ObjectType):
|
|||
{
|
||||
"id": str(course.id),
|
||||
"name": course.title,
|
||||
"dashboard_type": DashboardType.STATISTICS_DASHBOARD
|
||||
"dashboard_type": DashboardType.STATISTICS_DASHBOARD,
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -55,15 +68,17 @@ class DashboardQuery(graphene.ObjectType):
|
|||
{
|
||||
"id": str(course.id),
|
||||
"name": course.title,
|
||||
"dashboard_type": DashboardType.SIMPLE_LIST_DASHBOARD
|
||||
"dashboard_type": DashboardType.SIMPLE_LIST_DASHBOARD,
|
||||
}
|
||||
)
|
||||
if can_view_course_session_progress(user=user, course_session=course_session):
|
||||
if can_view_course_session_progress(
|
||||
user=user, course_session=course_session
|
||||
):
|
||||
dashboards.append(
|
||||
{
|
||||
"id": str(course.id),
|
||||
"name": course.title,
|
||||
"dashboard_type": DashboardType.PROGRESS_DASHBOARD
|
||||
"dashboard_type": DashboardType.PROGRESS_DASHBOARD,
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ from vbv_lernwelt.course_session.models import (
|
|||
CourseSessionEdoniqTest,
|
||||
)
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_assignment,
|
||||
create_assignment_completion,
|
||||
|
|
@ -19,9 +20,8 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
|||
create_course_session,
|
||||
create_course_session_assignment,
|
||||
create_course_session_edoniq_test,
|
||||
create_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
create_user,
|
||||
)
|
||||
from vbv_lernwelt.learnpath.models import Circle
|
||||
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ from graphene_django.utils import GraphQLTestCase
|
|||
from vbv_lernwelt.course.models import CourseSessionUser
|
||||
from vbv_lernwelt.course_session.services.attendance import AttendanceUserStatus
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_attendance_course,
|
||||
create_circle,
|
||||
create_course,
|
||||
create_course_session,
|
||||
create_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
create_user,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ from graphene_django.utils import GraphQLTestCase
|
|||
from vbv_lernwelt.course.models import CourseSessionUser
|
||||
from vbv_lernwelt.course.services import mark_course_completion
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_circle,
|
||||
create_course,
|
||||
create_course_session,
|
||||
create_course_session_group,
|
||||
create_performance_criteria_page,
|
||||
create_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ from graphene_django.utils import GraphQLTestCase
|
|||
|
||||
from vbv_lernwelt.course.models import CourseSessionUser
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_course,
|
||||
create_course_session,
|
||||
create_user,
|
||||
add_course_session_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
create_user,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ from graphene_django.utils import GraphQLTestCase
|
|||
|
||||
from vbv_lernwelt.course.models import CourseSessionUser
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_circle,
|
||||
create_course,
|
||||
create_course_session,
|
||||
create_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
create_user,
|
||||
)
|
||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ from graphene_django.utils import GraphQLTestCase
|
|||
|
||||
from vbv_lernwelt.course.models import CourseSessionUser
|
||||
from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||
add_course_session_group_course_session,
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_user,
|
||||
create_course,
|
||||
create_course_session,
|
||||
create_user,
|
||||
add_course_session_user,
|
||||
create_course_session_group,
|
||||
add_course_session_group_supervisor,
|
||||
add_course_session_group_course_session,
|
||||
create_user,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue