def test_incr_different_counter(ids_counter_model): ids_counter_model.get_new_id(PROJECT_ID1) ids_counter_model.get_new_id(PROJECT_ID2) object_id = ids_counter_model.get_new_id(PROJECT_ID2) assert object_id == EntityId.from_parts(PROJECT_ID2.project_id, 2)
from tests.integration.factories.objs import create_expenditure from wt.costs.expenditures import BoundExpenditure from wt.ids import EntityId ENTITY_ID = EntityId("ABC-1") OTHER_PROJECT_ENTITY_ID = EntityId("BBB-1") def test_create_minimal_expenditure(expenditures_model): expenditure = create_expenditure(date_closed=None, deadline=None, files=[]) bound_expenditure = expenditures_model.create_expenditure( ENTITY_ID, expenditure) assert bound_expenditure == BoundExpenditure(bound_expenditure.simple_id, expenditure) def test_create_full_expenditure(expenditures_model): expenditure = create_expenditure() bound_expenditure = expenditures_model.create_expenditure( ENTITY_ID, expenditure) assert bound_expenditure == BoundExpenditure(bound_expenditure.simple_id, expenditure) def test_get_expenditures(expenditures_model): full_expenditure = create_expenditure() minimal_expenditure = create_expenditure(date_closed=None, deadline=None, files=[])
from wt.ids import EntityId PROJECT_ID1 = EntityId("PRJ") PROJECT_ID2 = EntityId("GGG") def test_init_counter(ids_counter_model): object_id = ids_counter_model.get_new_id(PROJECT_ID1) assert object_id == EntityId.from_parts(PROJECT_ID1.project_id, 1) def test_incr_counter(ids_counter_model): ids_counter_model.get_new_id(PROJECT_ID1) object_id = ids_counter_model.get_new_id(PROJECT_ID1) assert object_id == EntityId.from_parts(PROJECT_ID1.project_id, 2) def test_init_different_counter(ids_counter_model): ids_counter_model.get_new_id(PROJECT_ID1) object_id = ids_counter_model.get_new_id(PROJECT_ID2) assert object_id == EntityId.from_parts(PROJECT_ID2.project_id, 1) def test_incr_different_counter(ids_counter_model): ids_counter_model.get_new_id(PROJECT_ID1) ids_counter_model.get_new_id(PROJECT_ID2) object_id = ids_counter_model.get_new_id(PROJECT_ID2) assert object_id == EntityId.from_parts(PROJECT_ID2.project_id, 2) def test_drop_project(ids_counter_model):
def test_link_to_itself(links_api): with pytest.raises(InvalidLinkToItself): links_api.create_link(EntityId("AAA-1"), EntityId("AAA-1"))
import pytest from wt.fields.tags import Tag, DuplicateTagReceived from wt.ids import EntityId OBJECT_ID = EntityId("PRJ-15") def test_add_tags(tags_model): tags = [Tag("a"), Tag("b")] tags_model.set_entity_tags(OBJECT_ID, tags) saved_tags = tags_model.get_entity_tags(OBJECT_ID) assert tags == saved_tags def test_add_more_tags(tags_model): original_tags = [Tag("a"), Tag("b")] tags_model.set_entity_tags(OBJECT_ID, original_tags) tags = [Tag("a"), Tag("b"), Tag("c")] tags_model.set_entity_tags(OBJECT_ID, tags) saved_tags = tags_model.get_entity_tags(OBJECT_ID) assert tags == saved_tags def test_remove_tags(tags_model): original_tags = [Tag("a"), Tag("b")] tags_model.set_entity_tags(OBJECT_ID, original_tags) tags = [Tag("a")]
def test_get_missing_objects(objects_tracker_model): assert objects_tracker_model.get_objects_types([EntityId(OBJECT_ID1) ]) == {}
def test_link_between_projects(links_api): with pytest.raises(InvalidLinkBetweenProjects): links_api.create_link(EntityId("AAA-1"), EntityId("BBB-1"))
def delete_deliverable(deliverables_api: DeliverablesApi, deliverable_id): with transaction.manager: deliverables_api.delete_deliverable(EntityId(deliverable_id)) return {}, 200
def test_delete_no_deliverable(deliverables_model): with pytest.raises(DeliverableDoesNotExist): deliverables_model.delete_deliverable(EntityId("ABC-2"))
def test_delete_no_issue(issues_model): with pytest.raises(IssueDoesNotExist): issues_model.delete_issue(EntityId("ABC-2"))
def _result_to_map(result): return {EntityId(row["id"]): EntityType(row["type"]) for row in result}
def deserialize_bound_deliverable(self, deliverable_id: str, deliverable: dict) -> BoundDeliverable: return BoundDeliverable( object_id=EntityId(deliverable_id), deliverable=self.deserialize_deliverable(deliverable))
def delete_project(projects_api: ProjectsApi, project_id): with transaction.manager: projects_api.delete_project(EntityId(project_id)) return {}, 200
def test_get_missing_object(objects_tracker_model): assert not objects_tracker_model.get_object_type(EntityId(OBJECT_ID1))
def test_drop_project(ids_counter_model): ids_counter_model.get_new_id(PROJECT_ID1) ids_counter_model.drop_project(PROJECT_ID1) object_id = ids_counter_model.get_new_id(PROJECT_ID1) assert object_id == EntityId.from_parts(PROJECT_ID1.project_id, 1)
import pytest from wt.common.errors import ObjectDoesNotExist from wt.ids import EntityId, EntityType from wt.links import (InvalidLinkBetweenProjects, InvalidLinkToItself, InvalidLinkedEntities) ID1 = EntityId("AAA-1") ID2 = EntityId("AAA-2") def test_link_between_projects(links_api): with pytest.raises(InvalidLinkBetweenProjects): links_api.create_link(EntityId("AAA-1"), EntityId("BBB-1")) def test_link_to_itself(links_api): with pytest.raises(InvalidLinkToItself): links_api.create_link(EntityId("AAA-1"), EntityId("AAA-1")) def test_link_project_to_issue(links_api, objects_tracker_model): objects_tracker_model.track_object(ID1, EntityType.project) objects_tracker_model.track_object(ID2, EntityType.issue) with pytest.raises(InvalidLinkedEntities) as ex: links_api.create_link(ID1, ID2) assert EntityType.project.value in ex.value.message assert EntityType.issue.value in ex.value.message
def test_init_counter(ids_counter_model): object_id = ids_counter_model.get_new_id(PROJECT_ID1) assert object_id == EntityId.from_parts(PROJECT_ID1.project_id, 1)
def deserialize_bound_issue(self, issue_id: str, issue: dict) -> BoundIssue: return BoundIssue(object_id=EntityId(issue_id), issue=self.deserialize_issue(issue))