Exemple #1
0
def test_validate_maximum_profiles_in_same_coffee_room(
        app_context) -> NoReturn:
    with app_context:
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))
        save(
            Profile(id='A74052ac-cf9f-4baa-a49a-3993cdf0e50t',
                    name='Hanna',
                    last_name='Barbara',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        with pytest.raises(BadRequestException) as ex:
            validate_maximum_profiles_in_same_coffee_room(
                'e3383c48-9b89-472f-9086-9cb21feaad7f', 1)

        assert (
            str(ex.value) ==
            '400 Bad Request: Maximum number of profiles in same coffee room.')
Exemple #2
0
def test_get_all_profile_with_same_id_convention_room(app_context) -> NoReturn:
    with app_context:
        # Arrange
        save(CoffeeRoom(
            id='e3383c48-9b89-472f-9086-9cb21feaad7f',
            name='CafeClub',
            capacity=23))

        save(Convention(
            id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
            name='Hall',
            capacity=23))

        save(Profile(
            id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
            name='Jon',
            last_name='Snow',
            conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
            coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        profile = get_by_id_all_profile_in_the_same_convention_room('6b6ce977-1339-4461-9e7c-1a930a57dbdb')

        assert len(profile) == 1
        assert profile[0].name == 'Jon'
        assert profile[0].last_name == 'Snow'
        assert profile[0].id == 'd74052ac-cf9f-4baa-a49a-3993cdf0e50f'
Exemple #3
0
def test_get_all_profiles_with_id_convention(app_context) -> NoReturn:
    with app_context:

        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))
        test_client = app_context.app.test_client()

        request = test_client.get(
            '/convention/6b6ce977-1339-4461-9e7c-1a930a57dbdb/profiles')

        response = request.get_json()
        # Assert
        assert len(response) == 1
Exemple #4
0
def test_delete_profile_with_id(app_context) -> NoReturn:
    with app_context:
        # Arrange
        id_profile = "d74052ac-cf9f-4baa-a49a-3993cdf0e50f"
        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        test_client = app_context.app.test_client()
        # Action
        request = test_client.delete(f'/profiles/{id_profile}')

        # Asserts
        assert request.status_code == 204
Exemple #5
0
def test_model_profile_return_dict(app_context) -> NoReturn:
    with app_context:
        # Action
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        profile = save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        # Assert
        assert isinstance(profile, Profile)
        assert profile.name == 'Jon'
        assert profile.last_name == 'Snow'
        assert profile.coffee_room_id == 'e3383c48-9b89-472f-9086-9cb21feaad7f'
        assert profile.conventions_id == '6b6ce977-1339-4461-9e7c-1a930a57dbdb'
Exemple #6
0
def test_profile_serialize(app_context) -> NoReturn:
    with app_context:
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        profile = save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        profile_serialize = profile.serialize()

        assert profile_serialize == {
            'coffee_room_id': 'e3383c48-9b89-472f-9086-9cb21feaad7f',
            'conventions_id': '6b6ce977-1339-4461-9e7c-1a930a57dbdb',
            'id': 'd74052ac-cf9f-4baa-a49a-3993cdf0e50f',
            'last_name': 'Snow',
            'name': 'Jon'
        }
Exemple #7
0
def test_get_by_id_profile(app_context) -> NoReturn:
    with app_context:
        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        # Actions
        profile = get_by_id('d74052ac-cf9f-4baa-a49a-3993cdf0e50f')

        # Asserts
        assert profile.id == 'd74052ac-cf9f-4baa-a49a-3993cdf0e50f'
        assert profile.name == 'Jon'
        assert profile.last_name == 'Snow'
        assert profile.conventions_id == '6b6ce977-1339-4461-9e7c-1a930a57dbdb'
        assert profile.coffee_room_id == 'e3383c48-9b89-472f-9086-9cb21feaad7f'
Exemple #8
0
def test_get_all_profiles(app_context) -> NoReturn:
    with app_context:
        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))
        # Action
        profile = get()

        # Assert
        assert isinstance(profile, list)
        assert len(profile) == 1
        assert isinstance(profile[0], Profile)
Exemple #9
0
def test_update_profile(app_context) -> NoReturn:
    with app_context:
        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))
        # Action
        profile = update(
            'd74052ac-cf9f-4baa-a49a-3993cdf0e50f', {
                'name': 'João',
                'last_name': 'Neves',
                'conventions_id': '6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                'coffee_room_id': 'e3383c48-9b89-472f-9086-9cb21feaad7f'
            })
        # Assert
        assert profile.name == 'João'
        assert profile.last_name == 'Neves'
        assert profile.conventions_id == '6b6ce977-1339-4461-9e7c-1a930a57dbdb'
        assert profile.coffee_room_id == 'e3383c48-9b89-472f-9086-9cb21feaad7f'
Exemple #10
0
def test_validate_delete_room(app_context) -> NoReturn:
    with app_context:
        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        with pytest.raises(BadRequestException) as ex:
            validate_delete_coffee_room('e3383c48-9b89-472f-9086-9cb21feaad7f')

        assert (
            str(ex.value) ==
            '400 Bad Request: Convention table cannot be deleted, there are data in it.'
        )
Exemple #11
0
def create(data: dict) -> List[Profile]:
    coffee_room = get_by_id_coffee_room(data['coffee_room_id'])
    _limite_coffee_room = coffee_room.capacity
    conventions = get_by_id_conventions(data['conventions_id'])
    _limite_conventions = conventions.capacity
    validate_name(data['name'])
    validate_last_name(data['last_name'])
    validate_maximum_profiles_in_same_conventions_room(data['conventions_id'], _limite_conventions)
    validate_maximum_profiles_in_same_coffee_room(data['coffee_room_id'], _limite_coffee_room)
    return save(Profile(id=str(uuid4()), name=data['name'], last_name=data['last_name'],
                        conventions_id=data['conventions_id'], coffee_room_id=data['coffee_room_id']))
Exemple #12
0
def test_update_profile(app_context) -> NoReturn:
    with app_context:
        # Arrange

        # Arrange
        save(
            CoffeeRoom(id='e3383c48-9b89-472f-9086-9cb21feaad7f',
                       name='CafeClub',
                       capacity=23))

        save(
            Convention(id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                       name='Hall',
                       capacity=23))

        save(
            Profile(id='d74052ac-cf9f-4baa-a49a-3993cdf0e50f',
                    name='Jon',
                    last_name='Snow',
                    conventions_id='6b6ce977-1339-4461-9e7c-1a930a57dbdb',
                    coffee_room_id='e3383c48-9b89-472f-9086-9cb21feaad7f'))

        payload = {
            'name': 'James',
            'last_name': 'Junior',
            'conventions_id': '6b6ce977-1339-4461-9e7c-1a930a57dbdb',
            'coffee_room_id': 'e3383c48-9b89-472f-9086-9cb21feaad7f'
        }

        test_client = app_context.app.test_client()

        request = test_client.patch(
            '/profiles/d74052ac-cf9f-4baa-a49a-3993cdf0e50f', json=payload)
        response = request.get_json()

        assert len(response) == 5
        assert response == {
            'coffee_room_id': 'e3383c48-9b89-472f-9086-9cb21feaad7f',
            'conventions_id': '6b6ce977-1339-4461-9e7c-1a930a57dbdb',
            'id': 'd74052ac-cf9f-4baa-a49a-3993cdf0e50f',
            'last_name': 'Junior',
            'name': 'James'
        }