def setUpClass(cls) -> None: super().setUpClass() cls.user = cls.create_superuser('first', '*****@*****.**', 'p', tenant=0) factory = TenantsAPIRequestFactory(force_authenticate=cls.user) request = factory.patch('', data=dict()) view = MagicMock() view.request.return_value = request cls.serializer_context = dict( view=view, request=request, )
def test_steps_validation_during_patching(self) -> None: self.set_tenant(0) user = self.users[0] campaign = Campaign.objects.create(name='start/stop validation', owner=user) step = Step.objects.create(campaign=campaign, start=datetime.time(9, 45), end=datetime.time(18, 30)) factory = TenantsAPIRequestFactory(force_authenticate=user) request = factory.patch('', data=dict(timezone='UTC-0300')) response = StepViewSet.as_view({'patch': 'partial_update'})(request, **{ compose_parent_pk_kwarg_name('campaign'): campaign.id, 'pk': step.pk }) self.assertEqual(response.status_code, status.HTTP_200_OK, str(response.data)) step_data = response.data self.assertEqual(step.id, step_data['id']) self.assertEqual('UTC-0300', step_data['timezone'])
def test_unable_to_set_different_tenant_user_as_campaign_owner(self) -> None: self.set_tenant(0) user = self.users[0] campaign = Campaign.objects.create(name='this gonna be great', owner=user) factory = TenantsAPIRequestFactory(force_authenticate=user) request = factory.get('') response = CampaignsViewSet.as_view({'get': 'retrieve'})(request, pk=campaign.pk) self.assertEqual(response.status_code, status.HTTP_200_OK, str(response.data)) other_user = self.users[2] self.assertNotEqual(other_user.profile.tenant, user.profile.tenant) factory = TenantsAPIRequestFactory(force_authenticate=user) request = factory.patch('', data=dict(owner=other_user.pk)) response = CampaignsViewSet.as_view({'patch': 'partial_update'})(request, pk=campaign.pk) self.assertEqual(status.HTTP_400_BAD_REQUEST, response.status_code, str(response.data)) self.assertDictEqual({'owner': [ 'Invalid pk "%s" - object does not exist.' % other_user.pk ]}, response.data)