Skip to content

Commit

Permalink
Adjust tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ta2-1 committed Feb 13, 2017
1 parent 45ba977 commit cf9ef1b
Showing 1 changed file with 51 additions and 10 deletions.
61 changes: 51 additions & 10 deletions tests/commands/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@
# or later license. See the LICENSE file for a copy of the license and the
# AUTHORS file for copyright and authorship information.

import os
import pytest

from translate.filters.decorators import Category

from django.core.management import CommandError, call_command

from pootle.core.delegate import tp_tool
Expand Down Expand Up @@ -70,16 +73,24 @@ def test_project_update(capfd, language0, project0, project_foo):

@pytest.mark.cmd
@pytest.mark.django_db
def test_project_clone(capfd, language0, project_foo):
# fill foo project
project_foo.translationproject_set.create(language=language0)
call_command('project', 'update', 'project0', '--target-project=foo')
call_command('project', 'clone', 'foo', '--target-project=zoo',
'--language=language0')
def test_project_clone_tp(capfd, tutorial, admin):
tp = tutorial.translationproject_set.get(language__code='language0')
unit = tp.stores.first().units.first()
unit.target_f = '%s\n%s' % (unit.source_f, unit.source_f)
# set and mute critical check
unit.save()
unit.update_qualitychecks()
check_id = unit.qualitycheck_set.filter(
category=Category.CRITICAL).values_list('id', flat=True).first()
unit.toggle_qualitycheck(check_id=check_id, false_positive=True, user=admin)
call_command('project', 'clone', 'tutorial', '--target-project=zoo',
'--language=language0', '--target-language=language1')

out, err = capfd.readouterr()
assert (u'Translation project "/language0/foo/" has been cloned into '
u'"/language0/zoo/"' in out)
assert (u'Translation project "/language0/tutorial/" has been cloned into '
u'"/language1/zoo/"' in out)
zoo = Project.objects.get(code='zoo')
assert os.listdir(zoo.get_real_path())


@pytest.mark.cmd
Expand Down Expand Up @@ -131,18 +142,48 @@ def test_project_move(capfd, language0, project_foo):
@pytest.mark.django_db
def test_project_move_tp(capfd):
call_command('project', 'move', 'project0', '--language=language0',
'--target-project=foo')
'--target-project=foo', '--target-language=language1')

out, err = capfd.readouterr()
assert (u'Translation project "/language0/project0/" has been moved into '
u'"/language0/foo/"' in out)


@pytest.mark.cmd
@pytest.mark.django_db
def test_project_move_tp_within_project(capfd):
call_command('project', 'remove', 'project0', '--language=language1')
call_command('project', 'move', 'project0', '--language=language0',
'--target-language=language1')

out, err = capfd.readouterr()
assert (u'Translation project "/language0/project0/" has been moved into '
u'"/language1/project0/"' in out)


@pytest.mark.cmd
@pytest.mark.django_db
def test_project_remove(capfd, project_foo):
foo = '%s' % project_foo
call_command('project', 'remove', 'foo')
call_command('project', 'remove', 'foo', '--force')

out, err = capfd.readouterr()
assert (u'Project "%s" has been deleted' % foo) in out


@pytest.mark.cmd
@pytest.mark.django_db
def test_project_remove_tp(capfd, tp0):
call_command('project', 'remove', 'project0', '--language=language0')

out, err = capfd.readouterr()
assert (u'Translation project "%s" has been deleted' % tp0) in out


@pytest.mark.cmd
@pytest.mark.django_db
def test_project_clone_with_wrong_options():
with pytest.raises(CommandError) as e:
call_command('project', 'clone', 'project0', '--target-project=foo',
'--target-language=language1')
assert 'You must set the only source language' in ('%s' % e.value)

0 comments on commit cf9ef1b

Please sign in to comment.