6 |
6 |
import datetime
|
7 |
7 |
from io import StringIO
|
8 |
8 |
import json
|
|
9 |
import mock
|
9 |
10 |
import os
|
10 |
11 |
import shutil
|
11 |
12 |
import sys
|
... | ... | |
690 |
691 |
import_site(update_payload)
|
691 |
692 |
calendar.refresh_from_db()
|
692 |
693 |
assert calendar.label == 'Calendar Updated'
|
|
694 |
|
|
695 |
|
|
696 |
@mock.patch('chrono.agendas.models.Agenda.is_available_for_simple_management')
|
|
697 |
def test_import_export_desk_simple_management(available_mock):
|
|
698 |
agenda = Agenda.objects.create(label='Foo bar', kind='meetings', desk_simple_management=True)
|
|
699 |
output = get_output_of_command('export_site')
|
|
700 |
payload = json.loads(output)
|
|
701 |
assert len(payload['agendas']) == 1
|
|
702 |
assert payload['agendas'][0]['desk_simple_management'] is True
|
|
703 |
|
|
704 |
# check on creation
|
|
705 |
for available_value in [True, False]:
|
|
706 |
agenda.delete()
|
|
707 |
available_mock.return_value = available_value
|
|
708 |
import_site(payload)
|
|
709 |
agenda = Agenda.objects.latest('pk')
|
|
710 |
assert agenda.desk_simple_management == available_value
|
|
711 |
|
|
712 |
payload['agendas'][0]['desk_simple_management'] = False
|
|
713 |
for available_value in [True, False]:
|
|
714 |
# always ok to set flag to False
|
|
715 |
agenda.delete()
|
|
716 |
available_mock.return_value = available_value
|
|
717 |
import_site(payload)
|
|
718 |
agenda = Agenda.objects.latest('pk')
|
|
719 |
assert agenda.desk_simple_management is False
|
|
720 |
|
|
721 |
# check on update
|
|
722 |
payload['agendas'][0]['desk_simple_management'] = True
|
|
723 |
for available_value in [True, False]:
|
|
724 |
agenda.desk_simple_management = False
|
|
725 |
agenda.save()
|
|
726 |
available_mock.return_value = available_value
|
|
727 |
import_site(payload)
|
|
728 |
agenda.refresh_from_db()
|
|
729 |
assert agenda.desk_simple_management == available_value
|
|
730 |
|
|
731 |
# already True, no change
|
|
732 |
agenda.desk_simple_management = True
|
|
733 |
agenda.save()
|
|
734 |
available_mock.return_value = available_value
|
|
735 |
import_site(payload)
|
|
736 |
agenda.refresh_from_db()
|
|
737 |
assert agenda.desk_simple_management is True
|
|
738 |
|
|
739 |
payload['agendas'][0]['desk_simple_management'] = False
|
|
740 |
for available_value in [True, False]:
|
|
741 |
# always ok to set flag to False
|
|
742 |
for old_value in [True, False]:
|
|
743 |
agenda.desk_simple_management = old_value
|
|
744 |
agenda.save()
|
|
745 |
available_mock.return_value = available_value
|
|
746 |
import_site(payload)
|
|
747 |
agenda.refresh_from_db()
|
|
748 |
assert agenda.desk_simple_management is False
|
|
749 |
|
|
750 |
# not in payload, no changed
|
|
751 |
del payload['agendas'][0]['desk_simple_management']
|
|
752 |
for available_value in [True, False]:
|
|
753 |
for old_value in [True, False]:
|
|
754 |
agenda.desk_simple_management = old_value
|
|
755 |
agenda.save()
|
|
756 |
available_mock.return_value = available_value
|
|
757 |
import_site(payload)
|
|
758 |
agenda.refresh_from_db()
|
|
759 |
assert agenda.desk_simple_management == old_value
|
693 |
|
-
|