Example #1
0
    def test_username_is_assigned_on_create(self):
        #tests blank username
        test_user = create_user()
        self.assertEquals(test_user.username, test_user.email)

        #tests if some invalid username is assigned
        test_user1 = create_user(username='******')
        self.assertEquals(test_user1.username, test_user1.email)
Example #2
0
def test_get_propositions_should_return_highest_probability_reco_first(app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)

    recommendation_1 = create_recommendation(title='Prends ton vélo')
    recommendation_2 = create_recommendation(title='Prends ta trottinette')
    obj_to_save.append(recommendation_1)
    obj_to_save.append(recommendation_2)

    BaseObject.check_and_save(*obj_to_save)

    # When
    proposition_request = req_with_auth(email='*****@*****.**', password='******') \
        .get(API_URL + '/propositions')

    # Then
    assert proposition_request.status_code == 200
    content = proposition_request.json()
    assert len(content.get('propositions')) == 2
    reco_1_probability = content.get('propositions')[0].get('probability')
    reco_2_probability = content.get('propositions')[1].get('probability')
    assert reco_1_probability >= reco_2_probability
Example #3
0
def test_save_property_set_value_if_property_and_user_property_exist(app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)
    question = Question()
    question.question_name = 'question_1'
    obj_to_save.append(question)
    BaseObject.check_and_save(*obj_to_save)

    user_property_obj = UserProperty()
    user_property_obj.user_id = user.id
    user_property_obj.question_id = question.id
    user_property_obj.value = float(12)
    BaseObject.check_and_save(user_property_obj)

    data = dict()
    data['question_1'] = "0.5"

    # When
    property_request = req_with_auth(email='*****@*****.**', password='******') \
        .post(API_URL + '/property', json=data)

    # Then
    assert property_request.status_code == 200

    user_property_obj = UserProperty.query. \
        filter_by(user_id=user.id). \
        filter_by(question_id=question.id). \
        first()

    assert user_property_obj is not None
    assert user_property_obj.value == 0.5
Example #4
0
def test_get_property_should_return_value_for_property_if_already_answered(
        app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)
    question = Question()
    question.question_name = 'question_1'
    obj_to_save.append(question)
    BaseObject.check_and_save(*obj_to_save)
    user_property_obj = UserProperty()
    user_property_obj.user_id = user.id
    user_property_obj.question_id = question.id
    user_property_obj.value = float(0.5)
    BaseObject.check_and_save(user_property_obj)

    # When
    property_request = req_with_auth(email='*****@*****.**', password='******') \
        .get(API_URL + '/property')

    # Then
    assert property_request.status_code == 200
    content = property_request.json()
    assert 'question_1' in content
    assert content['question_1'] == 0.5
Example #5
0
    def test_campus_ambassador_user_type_on_save(self):
        #tests default values
        test_ca = create_campus_ambassador()
        self.assertEquals(test_ca.user.user_type, 'CAB')

        #tests for assigned values
        test_user = create_user(user_type='EXE')
        test_ca1 = create_campus_ambassador(user=test_user)
        self.assertEquals(test_ca1.user.user_type, 'CAB')
def test_search_without_text_in_the_form(app):
    user = create_user()
    user.id = 1
    BaseObject.check_and_save(user)
    create_reco("recommendations_data_test")
    r = req.get(API_URL + '/recommendations/search?title=""')
    search_json = r.json()
    assert r.status_code == 400
    assert search_json['error'] == 'No recommendation found'
Example #7
0
def test_get_propositions_should_return_empty_array_if_no_reco_in_db(app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)

    BaseObject.check_and_save(*obj_to_save)

    # When
    proposition_request = req_with_auth(email='*****@*****.**', password='******') \
        .get(API_URL + '/propositions')

    # Then
    assert proposition_request.status_code == 200
    content = proposition_request.json()
    assert len(content.get('propositions')) == 0
Example #8
0
def test_get_property_should_return_false_for_property_is_not_answered_already(
        app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)
    property_obj = Question()
    property_obj.question_name = 'question_1'
    obj_to_save.append(property_obj)
    BaseObject.check_and_save(*obj_to_save)

    # When
    property_request = req_with_auth(email='*****@*****.**', password='******') \
        .get(API_URL + '/property')

    # Then
    assert property_request.status_code == 200
    content = property_request.json()
    assert 'question_1' in content
Example #9
0
def test_get_propositions_should_return_one_reco_if_1_reco_in_db(app):
    # Given
    obj_to_save = []
    user = create_user(email='*****@*****.**',
                       username='******',
                       password='******')
    obj_to_save.append(user)

    recommendation = create_recommendation(title='Prends ton vélo')
    obj_to_save.append(recommendation)

    BaseObject.check_and_save(*obj_to_save)

    # When
    proposition_request = req_with_auth(email='*****@*****.**', password='******') \
        .get(API_URL + '/propositions')

    # Then
    assert proposition_request.status_code == 200
    content = proposition_request.json()
    assert len(content.get('propositions')) == 1
    assert content.get('propositions')[0].get('title') == 'Prends ton vélo'