示例#1
0
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)
示例#2
0
 def setUp(self):
     self.metricsadmin = MetricsAdmin(Metrics, AdminSite())