def test_only_one_root(db): root = Folder.get_root() # try to create another one with pytest.raises(AssertionError): Folder.create(name="something else") with pytest.raises(AssertionError): Folder.create(name="something else", parent=None) # make sure it wasnt created assert Folder.select().where(Folder.parent == None).count() == 1
def test_create_name_unique(db): root = Folder.get_root() f1 = root.add_folder("f1") with pytest.raises(pw.IntegrityError): Folder.create(name="f1", parent=root) with pytest.raises(pw.IntegrityError): root.add_folder("f1") # another one is fine assert root.add_folder("f2").name == "f2" # one further down is also fine assert f1.add_folder("f1").name == "f1"
def test_path(db): root = Folder.get_root() assert root.path == "/" f1 = Folder.create(name="f1", parent=root) assert f1.path == "/f1" f2 = Folder.create(name="f2", parent=f1) assert f2.path == "/f1/f2" f3 = Folder.create(name="f3", parent=f2) assert f3.path == "/f1/f2/f3" f4 = Folder.create(name="f4", parent=f3) assert f4.path == "/f1/f2/f3/f4" # move stuff around f4.parent = f2 f4.save() assert f4.path == "/f1/f2/f4"
def test_create(db): root = Folder.get_root() f1 = Folder.create(name="hallo", parent=root) assert f1.parent is root assert len(root.children) == 1 f2 = Folder.create(name="number2", parent=f1) assert len(root.children) == 1 assert f2.name == "number2" assert f2.parent == f1 assert f2.parent_id == f1.folder_id with pytest.raises(AssertionError): Folder.create(name=".") with pytest.raises(AssertionError): Folder.create(name="..") with pytest.raises(AssertionError): Folder.create(name="/") f3 = root.add_folder("f3") assert f3.name == "f3" assert f3.parent == root assert len(root.children) == 2
def test_create_name_validate(db): root = Folder.get_root() with pytest.raises(AssertionError): Folder.create(name="123", parent=root)