def test_init_exceptions(): state = State() with pytest.raises(ValueError): state.add(create="c_test", update="c_update", read="c_read") with pytest.raises(TypeError): state.add(test=["test"]) # 'test' is not a keyword with pytest.raises(AttributeError): # read and read/write props must be disjoint state.add(update=["test"], read=["test"]) s = State(update=["update"], read=["read"], create=["create"]) with pytest.raises(AttributeError): # test is not a valid attribute of Field outside what get_names expects s.get_names("test") with pytest.raises(ValueError): # no Field object with this name s.remove("xyz") with pytest.raises(ValueError): state.add(read=read, update=update, create=create) state.add(create=["read"]) # already exists
def test_state_remove(): """ tests the removal of a field by name """ state = State(read=read, update=update, create=create) state.remove("test0") assert state.get_field_by_name("test0") == []
def test_state_remove_list(self): """ tests removal of multiple fields by a list of names """ _state = State(read=read, update=update, save=save) _state.remove(['test0', 'save']) assert _state.get_field_by_name('test0') == [] assert _state.get_field_by_name('save') == []
def test_state_remove_list(): """ tests removal of multiple fields by a list of names """ state = State(read=read, update=update, create=create) state.remove(["test0", "create"]) assert state.get_field_by_name("test0") == [] assert state.get_field_by_name("create") == []