Exemple #1
0
def test_build_model_from_events_no_first_create_event(
        read_database: ReadDatabase):
    with pytest.raises(AssertionError):
        read_database.build_model_from_events([{
            "type": MagicMock(),
            "data": MagicMock()
        }])
Exemple #2
0
def test_build_model_from_events_unknown_event(read_database: ReadDatabase):
    with pytest.raises(BadCodingError):
        read_database.build_model_from_events([
            {
                "type": EVENT_TYPES.CREATE,
                "data": MagicMock()
            },
            {
                "type": MagicMock(),
                "data": MagicMock()
            },
        ])
Exemple #3
0
def test_build_model_from_events_delete_fields_event(
        read_database: ReadDatabase):
    field = MagicMock()
    base_model = {field: MagicMock}
    delete_fields_event = [field]

    result = read_database.build_model_from_events([
        {
            "type": EVENT_TYPES.CREATE,
            "data": base_model
        },
        {
            "type": EVENT_TYPES.DELETE_FIELDS,
            "data": delete_fields_event,
            "position": 0,
        },
    ])

    assert result == {META_POSITION: 0}
Exemple #4
0
def test_build_model_from_events_update_event(read_database: ReadDatabase):
    base_model = MagicMock()
    base_model.update = u = MagicMock()
    update_event = MagicMock()

    result = read_database.build_model_from_events([
        {
            "type": EVENT_TYPES.CREATE,
            "data": base_model
        },
        {
            "type": EVENT_TYPES.UPDATE,
            "data": update_event,
            "position": 0
        },
    ])

    u.assert_called_with(update_event)
    assert result == base_model
Exemple #5
0
def test_build_model_from_events_no_events(read_database: ReadDatabase):
    with pytest.raises(BadCodingError):
        read_database.build_model_from_events(None)
    with pytest.raises(BadCodingError):
        read_database.build_model_from_events([])