import pytest

from compendium_v2.db import db
from compendium_v2.db.survey_model import Survey, SurveyStatus
from compendium_v2.migrations.dump_survey_model import _cli


def test_dump_status_check(app_with_survey_db):

    with app_with_survey_db.app_context():
        db.session.add(Survey(year=2022, status=SurveyStatus.published, survey={}))
        db.session.commit()

    with pytest.raises(Exception, match=r'^Make sure the survey has status closed'):
        _cli(app_with_survey_db, None)