Skip to content

Instantly share code, notes, and snippets.

View bmelnychuk's full-sized avatar

Bogdan Melnychuk bmelnychuk

  • Hamburg, Germany
View GitHub Profile
import { getQuestions, getQuestion } from '../../../question-store';
export default class QuestionStoreRepository implements QuestionRepository {
async getAvailableQuestions(categoryId: string): Promise<Question[]> {
const rawQuestions = await getQuestions(categoryId);
return rawQuestions.map(rawQuestion => new Question(
rawQuestion.id,
rawQuestion.question,
rawQuestion.answer
));
const questionGenerationPolicy = new RandomNextQuestionPolicy();
const answerValidationPolicy = new TextEqualityAnswerValidationPolicy();
const questionRepository = new QuestionStoreRepository();
const getNextQuestionUseCase = new GetNextQuestion(
questionRepository, questionGenerationPolicy
);
const answerQuestionUseCase = new AnswerQuestion(
questionRepository, answerValidationPolicy