Exemple #1
0
def test_list_surveys():
    my_backend = Backend(cfg, init=True)
    #create surveys
    my_backend.create_survey(sleep_survey)
    my_backend.create_survey(stress_survey)
    #list surveys
    resp = my_backend.list_surveys()
    assert resp[0][0] == "sleep"
    assert resp[1][0] == "stress"
    resp = my_backend.list_surveys(user_id=user_id)
    assert resp == []
    my_backend.join_survey(user_id, "sleep")
    resp = my_backend.list_surveys(user_id=user_id)
    assert resp[0][1] == "sleep"
Exemple #2
0
def test_join_survey():
    my_backend = Backend(cfg, init=True)
    my_backend.create_survey(sleep_survey)
    #check that user has not joined survey
    db = sqlite3.connect(DB_path)
    cursor = db.cursor()
    sql = ''' SELECT * FROM user_surveys WHERE user_id=? AND survey_id=? '''
    cursor.execute(sql, (user_id, sleep_survey["id"]))
    resp = cursor.fetchone()
    assert resp is None
    #user joins survey
    my_backend.join_survey(user_id, sleep_survey["id"])
    #check user joined survey
    cursor.execute(sql, (user_id, sleep_survey["id"]))
    resp = cursor.fetchone()
    assert resp[0] == user_id and \
        resp[1] == sleep_survey["id"] and \
        resp[2] == None and \
        resp[3] == None

    #user joins survey that does not exist
    with pytest.raises(RuntimeError):
        my_backend.join_survey(user_id, "random_survey")

    #user joins a survey that was already joined
    with pytest.raises(RuntimeError):
        my_backend.join_survey(user_id, sleep_survey["id"])
Exemple #3
0
def test_reminders():
    my_backend = Backend(cfg, init=True)
    my_backend.create_survey(sleep_survey)
    #user joins survey
    survey_id = sleep_survey["id"]
    my_backend.join_survey(user_id, sleep_survey["id"])
    rems = my_backend.list_surveys(user_id=user_id)
    assert rems[0] == (user_id, survey_id, None, None)
    #add AM reminder
    my_backend.save_reminder(user_id, sleep_survey["id"], "10:00AM")
    rems = my_backend.list_surveys(user_id=user_id)
    assert rems[0] == (user_id, survey_id, "10:00AM", None)
    #new AM reminder
    my_backend.save_reminder(user_id, sleep_survey["id"], "9:00AM")
    rems = my_backend.list_surveys(user_id=user_id)
    assert rems[0] == (user_id, survey_id, "9:00AM", None)
    #add PM reminder
    my_backend.save_reminder(user_id, sleep_survey["id"], "2:00PM")
    rems = my_backend.list_surveys(user_id=user_id)
    assert rems[0] == (user_id, survey_id, "9:00AM", "2:00PM")
    #remove reminders
    my_backend.save_reminder(user_id, sleep_survey["id"], None)
    rems = my_backend.list_surveys(user_id=user_id)
    assert rems[0] == (user_id, survey_id, None, None)