class MetricsAdminModelTest(TestCase): _multiprocess_can_split_ = True def setUp(self): self.metricsadmin = MetricsAdmin(Metrics, AdminSite()) def test_base_fields(self): self.assertEqual( self.metricsadmin.get_form(None).base_fields.keys(), ['name', 'code', 'position']) def test_save_new_model(self): user = create_user() faker = Faker() form = self.metricsadmin.get_form(None) form.base_fields['name'] = faker.words(words=2).capitalize() form.base_fields['code'] = faker.paragraphs() form.base_fields['position'] = "SITE_BOTTOM" metrics = Metrics() request = HttpRequest() request.user = user self.metricsadmin.save_model(request, metrics, form, True) self.assertEqual(metrics.author, user) def test_save_existing_model_by_different_user(self): author = create_user() faker = Faker() metrics = Metrics( author=author, name=faker.words(words=2).capitalize(), code=faker.paragraphs(), position="SITE_BOTTOM") metrics.save() form = self.metricsadmin.get_form(metrics) user = create_user() request = HttpRequest() request.user = user self.metricsadmin.save_model(request, metrics, form, False) self.assertNotEqual(metrics.author, user) self.assertGreater(metrics.modified_at, metrics.created_at)
def setUp(self): self.metricsadmin = MetricsAdmin(Metrics, AdminSite())