Example #1
0
def modifyQuestion(fs):
    """ modify fs to be properly consumed by Category() """
    # check for the existence of subcategory
    q = None
    if fs['id'] in ["deleteQuestion", 'editQuestion']:
        """ deactivates Category """
        q = Question(fs).updateQuestion()
    elif fs['id'] == "createQuestion":
        """ Creates new Category """
        q = Question(fs).newQuestion()

    returnJson(q)
Example #2
0
def test_null_question_title(db_handle):
    """
	Tests whether a question can be created without a title or not.
	"""
    questionnaire = _get_questionnaire()
    question1 = Question(questionnaire=questionnaire,
                         description="this is a non-title test")
    question2 = Question(title="test",
                         description="this is a non-questionnaire test")
    db.session.add(questionnaire)
    db.session.add(question1)
    db.session.add(question2)
    with pytest.raises(exc.IntegrityError):
        db.session.commit()
def _populate_db():
    """
    Pre-populate database with 2 questionnaires.One of the questionnaire has 3 questions 
    and 1 answer for each question. The other questionnaire has no question.
    """
    _questionnaire = Questionnaire(
        title="test-questionnaire-1",
        description="test-questionnaire"
    )
    db.session.add(_questionnaire)
    db.session.add(Questionnaire(
        title="test-questionnaire-2",
        description="test-questionnaire"
    ))
    for i in range(1, 4):
        q = Question(
            title="test-question-{}".format(i),
            description="test-question",
            questionnaire=_questionnaire
        )
        a = Answer(
            userName="******".format(i),
            content="test-answer",
            question=q
        )
        db.session.add(q)
        db.session.add(a)
    db.session.commit()
def create_question(_title, _questionnaire, _description=""):
    """
	Create a question with title and description.
	Titles are mandatory while descriptions are optional.
	It's also mandatory to put it into a specific questionnaire.
	"""
    if (_description != ""):
        question = Question(title=_title,
                            description=_description,
                            questionnaire=_questionnaire)
    else:
        question = Question(title=_title, questionnaire=_questionnaire)

    db.session.add(question)
    print("A new question is created.")
    print("Title: ", _title)
    print("Description: ", _description)
    print("--------------------")
    return question
Example #5
0
def _get_question(_questionnaire):
    """
	An example of question in a specific questionnaire.
	"""
    question = Question(
        title="Choose a date",
        description=
        "Between 1st of March and 4th of March, please tell us the dates you are available.",
        questionnaire=_questionnaire)

    return question
Example #6
0
def add_questions(question_file):
    with open(question_file) as f:
        for line in f:
            line = line.split(',')
            number = int(line[0])
            html = line[1].strip()
            lesson_title = line[-1].strip()
            lesson = Lesson.query.filter(Lesson.title == lesson_title).first()
            question = Question(number=number, html=html, lesson=lesson)
            db.session.add(question)
            db.session.commit()
Example #7
0
    def test_question(self):
        q = Question(question="ABCDEFG",
             label="ABC",
             a="A", 
             b="B", 
             c="C", 
             d="D", 
             answer=3)

        expected = "ABCDEFG"

        assert q.question == expected
Example #8
0
def publish_question(query, user_id, chat_id, msg_id):
    question = Question.query.filter_by(text=query).filter_by(
        user_fk=user_id).first()

    if not question:
        question = Question(text=query,
                            chat_id=chat_id,
                            user_fk=user_id,
                            msg_id=msg_id)
        db.session.add(question)
        db.session.commit()

    return question.id
Example #9
0
def getCategoryQuestionsByID(fs):
    returnObj = {}
    q = Question(fs).getQuestionsByCat()
    try:
        if 'error' not in q[0].keys():
            returnObj['questions'] = q
        else:
            returnObj = q
    except KeyError as e:
        returnObj = {
            'error': {
                'error': 'None',
                'msg': 'No question are available for this category'
            }
        }

    returnJson(returnObj)
Example #10
0
import csv
from app import db, Question, Answer

with open("data.csv", 'rU') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        question = row['Question']
        choices = row['Choices']
        answer = row['Answer']
        qid = row['QID']
        q = Question(question, choices, qid)
        db.session.add_all([q])
        db.session.commit()
        a = Answer(answer, qid)
        db.session.add_all([a])
        db.session.commit()
Example #11
0
def test_try_save_question2db(client):
    nq = Question(file_name = 'test_file_name', file_url = '2', description = '3', cell_code = '4', cell_output = '5' )
    db.session.add(nq)
    db.session.commit()
    assert nq.id > 0
    assert nq.__repr__() == 'description 3'
Example #12
0
User.drop_collection()
Question.drop_collection()
Attempt.drop_collection()

# create users
u1 = User(name="Joshua", email="*****@*****.**", password="******")
u1.save()
u2 = User(name="Isaac", email="*****@*****.**", password="******")
u2.save()
u3 = User(name="Cow", email="*****@*****.**", password="******")
u3.save()
u4 = User(name="moo", email="*****@*****.**", password="******")
u4.save()
# # create questions
q1 = Question(text="Joshua went the the market to buy ___head biscuits",
              options=["went", "arrow", "sheep", "cow"],
              answer=4,
              credit="oxcow university")
q1.save()
q2 = Question(text="Joshua and Isaac were eating ___head biscuits ",
              options=["cow", "arrow", "went", "sheep"],
              answer=1,
              credit="cowbridge university")
q2.save()
q3 = Question(text="Isaac exclamed that ___head biscuits were his favourite",
              options=["went", "arrow", "cow", "sheep"],
              answer=3,
              credit="cowbridge university")
q3.save()
q4 = Question(text="Cows are the key to ___head biscuits ",
              options=["went", "arrow", "cow", "sheep"],
              answer=3,