def test_resolve_post_event_metrics(self): model = ContentType.objects.get_for_model(Event) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) start = now() - timedelta(days=4) end = now() - timedelta(days=1) user = UserFactory.create(groups=['Rep']) event = EventFactory.create(owner=user, start=start, end=end) notify_event_owners_to_input_metrics() items = ActionItem.objects.filter(content_type=model) eq_(items.count(), 1) EventMetricOutcomeFactory.create(event=event) for item in items: ok_(item.completed) ok_(item.resolved)
def test_resolve_post_event_metrics(self): model = ContentType.objects.get_for_model(Event) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) start = now() - timedelta(days=4) end = now() - timedelta(days=1) user = UserFactory.create(groups=['Rep']) event = EventFactory.create(owner=user, start=start, end=end) notify_event_owners_to_input_metrics() items = ActionItem.objects.filter(content_type=model, object_id=event.id) eq_(items.count(), 1) EventMetricOutcomeFactory.create(event=event) for item in items: ok_(item.completed) ok_(item.resolved)
def test_inactive_metrics_edit(self): """Test active/inactive queryset in event edit.""" inactive_metrics = EventMetricFactory.create_batch(3, active=False) active_metrics = EventMetricFactory.create_batch(3) metrics = active_metrics + inactive_metrics event = EventFactory.create() for metric in metrics: EventMetricOutcomeFactory.create(event=event, metric=metric) formset = inlineformset_factory( Event, Event.metrics.through, form=EventMetricsForm, formset=BaseEventMetricsFormset, extra=0) forms = formset(instance=event) for form in forms: metric_field = form.fields['metric'] for metric in metrics: ok_(metric in metric_field.queryset.all())
def test_clone_event_without_actual_outcome(self, mock_success): user = UserFactory.create(groups=['Rep']) event = EventFactory.create() metrics = EventMetricOutcomeFactory.create_batch(3, event=event, outcome=None) self.client.login(username=user.username, password='******') event_clone_url = reverse('events_clone_event', kwargs={'slug': 'test-edit-event'}) response = self.client.post(event_clone_url, self.data, follow=True) mock_success.assert_called_with(ANY, 'Event successfully created.') event = Event.objects.get(slug='test-edit-event') cloned_event_url = reverse('events_view_event', kwargs={'slug': 'test-edit-event'}) eq_(response.request['PATH_INFO'], cloned_event_url) ok_(event.eventmetricoutcome_set.all().exists()) metrics_ids = map(lambda x: x.id, metrics) for m in event.eventmetricoutcome_set.all(): ok_(m.id not in metrics_ids)
def test_clone_event_with_actual_outcome(self, mock_success): user = UserFactory.create(groups=['Rep']) event = EventFactory.create() metrics = EventMetricOutcomeFactory.create_batch(3, event=event) event_clone_url = reverse('events_clone_event', kwargs={'slug': 'test-edit-event'}) with self.login(user) as client: response = client.post(event_clone_url, self.data, follow=True) mock_success.assert_called_with(ANY, 'Event successfully created.') event = Event.objects.get(slug='test-edit-event') cloned_event_url = reverse('events_view_event', kwargs={'slug': 'test-edit-event'}) eq_(response.request['PATH_INFO'], cloned_event_url) ok_(event.eventmetricoutcome_set.all().exists()) metrics_ids = map(lambda x: x.id, metrics) for m in event.eventmetricoutcome_set.all(): eq_(m.outcome, None) ok_(m.id not in metrics_ids)
def test_clone_event_without_actual_outcome(self, mock_success): user = UserFactory.create(groups=['Rep']) event = EventFactory.create() metrics = EventMetricOutcomeFactory.create_batch(3, event=event, outcome=None) self.client.login(username=user.username, password='******') event_clone_url = reverse('events_clone_event', kwargs={'slug': event.slug}) response = self.client.post(event_clone_url, self.data, follow=True) mock_success.assert_called_with(ANY, 'Event successfully created.') event = Event.objects.get(name='Test edit event', owner=event.owner) cloned_event_url = reverse('events_view_event', kwargs={'slug': event.slug}) eq_(response.request['PATH_INFO'], cloned_event_url) ok_(event.eventmetricoutcome_set.all().exists()) metrics_ids = map(lambda x: x.id, metrics) for m in event.eventmetricoutcome_set.all(): ok_(m.id not in metrics_ids)