taiga-back/tests/integration/test_userstories.py

67 lines
1.7 KiB
Python

from unittest import mock
import pytest
from django.core.urlresolvers import reverse
from taiga.projects.userstories import services, models
from .. import factories as f
pytestmark = pytest.mark.django_db
def test_get_userstories_from_bulk():
data = """
User Story #1
User Story #2
"""
userstories = services.get_userstories_from_bulk(data)
assert len(userstories) == 2
assert userstories[0].subject == "User Story #1"
assert userstories[1].subject == "User Story #2"
@mock.patch("taiga.projects.userstories.services.db")
def test_create_userstories_in_bulk(db):
data = """
User Story #1
User Story #2
"""
userstories = services.create_userstories_in_bulk(data)
db.save_in_bulk.assert_called_once_with(userstories, None)
@mock.patch("taiga.projects.userstories.services.db")
def test_update_userstories_order_in_bulk(db):
data = [(1, 1), (2, 2)]
services.update_userstories_order_in_bulk(data)
db.update_in_bulk_with_ids.assert_called_once_with([1, 2], [{"order": 1}, {"order": 2}],
model=models.UserStory)
def test_api_delete_userstory(client):
us = f.create_userstory()
url = reverse("userstories-detail", kwargs={"pk": us.pk})
client.login(us.owner)
response = client.delete(url)
assert response.status_code == 204
def test_api_filter_by_subject(client):
f.create_userstory()
us = f.create_userstory(subject="some random subject")
url = reverse("userstories-list") + "?subject=some subject"
client.login(us.owner)
response = client.get(url)
number_of_stories = len(response.data)
assert response.status_code == 200
assert number_of_stories == 1, number_of_stories