Skip to content

Commit

Permalink
Complete Group tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cmutel committed Nov 19, 2024
1 parent b69d192 commit 98c2a9d
Showing 1 changed file with 78 additions and 85 deletions.
163 changes: 78 additions & 85 deletions tests/unit/test_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,88 +172,81 @@ def test_group_revision_apply_delete(num_revisions):
assert not num_revisions(projects)


# @bw2test
# def test_group_revision_expected_format_update():
# projects.set_current("activity-event")
# database = DatabaseChooser("db")
# database.register()

# projects.dataset.set_sourced()
# assert projects.dataset.revision is None

# group = database.new_group(code="A", name="A")
# group.save()

# parent = projects.dataset.revision
# assert parent is not None
# group["name"] = "B"
# group.save()

# with open(projects.dataset.dir / "revisions" / f"{projects.dataset.revision}.rev", "r") as f:
# revision = json.load(f)

# expected = {
# "data": [
# {
# "change_type": "update",
# "delta": {"values_changed": {"root['name']": {"new_value": "B"}}},
# "id": group.id,
# "type": "lci_group",
# }
# ],
# "metadata": {
# "authors": "Anonymous",
# "description": "No description",
# "parent_revision": parent,
# "revision": projects.dataset.revision,
# "title": "Untitled revision",
# },
# }

# assert revision == expected


# @bw2test
# def test_group_revision_apply_update():
# projects.set_current("activity-event")
# database = DatabaseChooser("db")
# database.register()

# projects.dataset.set_sourced()
# assert projects.dataset.revision is None

# group = database.new_group(code="A", name="A", location="kalamazoo")
# group.save()

# revision_id = next(snowflake_id_generator)

# revision = {
# "data": [
# {
# "change_type": "update",
# "delta": {"values_changed": {"root['name']": {"new_value": "B"}}},
# "id": group.id,
# "type": "lci_group",
# }
# ],
# "metadata": {
# "authors": "Anonymous",
# "description": "No description",
# "parent_revision": projects.dataset.revision,
# "revision": revision_id,
# "title": "Untitled revision",
# },
# }

# projects.dataset.apply_revision(revision)
# assert projects.dataset.revision == revision_id
# assert len(database) == 1
# group = get_group(code="A")
# assert group["name"] == "B"

# revision_files = [
# fp
# for fp in (projects.dataset.dir / "revisions").iterdir()
# if fp.stem.lower() != "head" and fp.is_file()
# ]
# assert len(revision_files) == 1
@bw2test
def test_group_revision_expected_format_update(num_revisions):
projects.set_current("activity-event")

group = Group.create(name="A", order=[])

projects.dataset.set_sourced()
assert projects.dataset.revision is None

group.order = ["foo", "bar"]
group.save()

parent = projects.dataset.revision
assert parent is not None

with open(projects.dataset.dir / "revisions" / f"{projects.dataset.revision}.rev", "r") as f:
revision = json.load(f)

expected = {
"metadata": {
"parent_revision": None,
"revision": projects.dataset.revision,
"authors": "Anonymous",
"title": "Untitled revision",
"description": "No description",
},
"data": [
{
"type": "group",
"id": group.id,
"change_type": "update",
"delta": {
"iterable_item_added": {"root['order'][0]": "foo", "root['order'][1]": "bar"}
},
}
],
}

assert revision == expected
assert num_revisions(projects) == 1


@bw2test
def test_group_revision_apply_update(num_revisions):
projects.set_current("activity-event")

group = Group.create(name="A", order=[])

projects.dataset.set_sourced()
assert projects.dataset.revision is None

revision_id = next(snowflake_id_generator)

revision = {
"metadata": {
"parent_revision": None,
"revision": revision_id,
"authors": "Anonymous",
"title": "Untitled revision",
"description": "No description",
},
"data": [
{
"type": "group",
"id": group.id,
"change_type": "update",
"delta": {
"iterable_item_added": {"root['order'][0]": "foo", "root['order'][1]": "bar"}
},
}
],
}

projects.dataset.apply_revision(revision)
assert projects.dataset.revision == revision_id
group = Group.get(Group.id == group.id)
assert group.order == ["foo", "bar"]
assert not num_revisions(projects)

0 comments on commit 98c2a9d

Please sign in to comment.