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):
Example #4
0
def test_link_to_itself(links_api):
    with pytest.raises(InvalidLinkToItself):
        links_api.create_link(EntityId("AAA-1"), EntityId("AAA-1"))
Example #5
0
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)
                                                    ]) == {}
Example #7
0
def test_link_between_projects(links_api):
    with pytest.raises(InvalidLinkBetweenProjects):
        links_api.create_link(EntityId("AAA-1"), EntityId("BBB-1"))
Example #8
0
def delete_deliverable(deliverables_api: DeliverablesApi, deliverable_id):
    with transaction.manager:
        deliverables_api.delete_deliverable(EntityId(deliverable_id))
    return {}, 200
Example #9
0
def test_delete_no_deliverable(deliverables_model):
    with pytest.raises(DeliverableDoesNotExist):
        deliverables_model.delete_deliverable(EntityId("ABC-2"))
Example #10
0
def test_delete_no_issue(issues_model):
    with pytest.raises(IssueDoesNotExist):
        issues_model.delete_issue(EntityId("ABC-2"))
Example #11
0
 def _result_to_map(result):
     return {EntityId(row["id"]): EntityType(row["type"]) for row in result}
Example #12
0
 def deserialize_bound_deliverable(self, deliverable_id: str,
                                   deliverable: dict) -> BoundDeliverable:
     return BoundDeliverable(
         object_id=EntityId(deliverable_id),
         deliverable=self.deserialize_deliverable(deliverable))
Example #13
0
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)
Example #16
0
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)
Example #18
0
 def deserialize_bound_issue(self, issue_id: str,
                             issue: dict) -> BoundIssue:
     return BoundIssue(object_id=EntityId(issue_id),
                       issue=self.deserialize_issue(issue))