def test_monitoring_dashboard_url_returns_url_when_experiment_is_complete(
            self):
        experiment = NimbusExperimentFactory.create(
            slug="experiment",
            status=NimbusExperiment.Status.COMPLETE,
        )

        NimbusChangeLogFactory.create(
            experiment=experiment,
            old_status=NimbusExperiment.Status.ACCEPTED,
            new_status=NimbusExperiment.Status.LIVE,
            changed_on=datetime.date(2019, 5, 1),
        )

        NimbusChangeLogFactory.create(
            experiment=experiment,
            old_status=NimbusExperiment.Status.LIVE,
            new_status=NimbusExperiment.Status.COMPLETE,
            changed_on=datetime.date(2019, 5, 10),
        )

        self.assertEqual(
            experiment.monitoring_dashboard_url,
            settings.MONITORING_URL.format(
                slug=experiment.slug,
                from_date=1556582400000,
                to_date=1557619200000,
            ),
        )
    def test_results_ready_false(self):
        experiment = NimbusExperimentFactory.create()

        NimbusChangeLogFactory.create(
            experiment=experiment,
            old_status=NimbusExperiment.Status.DRAFT,
            new_status=NimbusExperiment.Status.LIVE,
            changed_on=datetime.date.today() - datetime.timedelta(days=2),
        )
        self.assertFalse(experiment.results_ready)
    def test_results_ready_true(self):
        experiment = NimbusExperimentFactory.create()

        NimbusChangeLogFactory.create(
            experiment=experiment,
            old_status=NimbusExperiment.Status.DRAFT,
            new_status=NimbusExperiment.Status.LIVE,
            changed_on=datetime.date(2019, 5, 1),
        )
        self.assertTrue(experiment.results_ready)
 def test_end_date_uses_most_recent_end_change(self):
     experiment = NimbusExperimentFactory.create()
     NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.LIVE,
         new_status=NimbusExperiment.Status.COMPLETE,
     )
     end_change = NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.LIVE,
         new_status=NimbusExperiment.Status.COMPLETE,
     )
     self.assertEqual(experiment.end_date, end_change.changed_on.date())
 def test_start_date_uses_most_recent_start_change(self):
     experiment = NimbusExperimentFactory.create()
     NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.DRAFT,
         new_status=NimbusExperiment.Status.LIVE,
     )
     start_change = NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.DRAFT,
         new_status=NimbusExperiment.Status.LIVE,
     )
     self.assertEqual(experiment.start_date, start_change.changed_on.date())
 def test_end_date_returns_datetime_for_ended_experiment(self):
     experiment = NimbusExperimentFactory.create()
     end_change = NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.LIVE,
         new_status=NimbusExperiment.Status.COMPLETE,
     )
     self.assertEqual(experiment.end_date, end_change.changed_on)
 def test_start_date_returns_datetime_for_started_experiment(self):
     experiment = NimbusExperimentFactory.create()
     start_change = NimbusChangeLogFactory(
         experiment=experiment,
         old_status=NimbusExperiment.Status.ACCEPTED,
         new_status=NimbusExperiment.Status.LIVE,
     )
     self.assertEqual(experiment.start_date, start_change.changed_on)
 def test_formats_str_if_no_message_set(self):
     now = timezone.now()
     user = UserFactory.create()
     changelog = NimbusChangeLogFactory.create(
         changed_by=user,
         changed_on=now,
         old_status=NimbusExperiment.Status.DRAFT,
         new_status=NimbusExperiment.Status.PREVIEW,
         message=None,
     )
     self.assertEqual(str(changelog), f"Draft > Preview by {user.email} on {now}")
    def test_monitoring_dashboard_url_returns_url_when_experiment_has_begun(self):
        experiment = NimbusExperimentFactory.create(
            slug="experiment",
            status=NimbusExperiment.Status.LIVE,
        )

        NimbusChangeLogFactory.create(
            experiment=experiment,
            old_status=NimbusExperiment.Status.DRAFT,
            new_status=NimbusExperiment.Status.LIVE,
            changed_on=datetime.date(2019, 5, 1),
        )

        self.assertEqual(
            experiment.monitoring_dashboard_url,
            settings.MONITORING_URL.format(
                slug=experiment.slug,
                from_date=1556582400000,
                to_date="",
            ),
        )
Esempio n. 10
0
 def test_uses_message_if_set(self):
     changelog = NimbusChangeLogFactory.create()
     self.assertEqual(str(changelog), changelog.message)