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"
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"])
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)