def test_delete_old_before_save(self): columns = generate_columns(user=self.user) for col in columns: col.save() # Save last col to different user new_col = deepcopy(columns[-1]) new_col.pk = None new_col.user = self.user2 new_col.save() self.assertEqual(Column.objects.count(), 4) post = { 'limit': 1, 'headers': [ {'key': 'first', 'hidden': False, 'order': Column.ASC}, {'key': 'second', 'hidden': False, 'order': Column.DESC}, {'key': 'third', 'hidden': True, 'order': Column.ASC} ] } form = YaatValidatorForm(post, columns=columns) self.assertEqual(form.is_valid(), True) form.save(user=self.user) self.assertNotEquals(form.columns, form.cleaned_data['headers']) self.assertEqual(Column.objects.filter(user=self.user).count(), 3) self.assertEqual(Column.objects.count(), 4)
def test_save_state(self): columns = generate_columns(user=self.user) post = { 'limit': 1, 'headers': [ {'key': 'first', 'hidden': False, 'order': Column.ASC}, #{'key': 'second', 'hidden': False, 'order': Column.ASC}, #{'key': 'third', 'hidden': False, 'order': Column.ASC} ] } form = YaatValidatorForm(post, columns=columns) self.assertEqual(form.is_valid(), True) form.save(user=self.user) saved_columns = list(Column.objects.filter(resource=columns[0].resource, user=self.user)) self.assertEqual(form.cleaned_data['headers'], saved_columns)
def test_invalidate_column_cache(self): class Resource(YaatModelResource): class Meta: resource_name = 'test_resource' request = generate_request(user=self.user) columns = generate_columns(user=self.user) post = { 'limit': 1, 'headers': [ {'key': 'first', 'hidden': False, 'order': Column.ASC}, ] } form = YaatValidatorForm(post, request=request, columns=columns, resource=Resource()) self.assertEqual(form.is_valid(), True) form.save() self.assertEqual(len(cache.get(Column.cached.KEY_TEMPLATE % (self.user.pk, Resource.Meta.resource_name))), 1) Resource.invalidate_column_cache(self.user) self.assertIsNone(cache.get(Column.cached.KEY_TEMPLATE % (self.user.pk, Resource.Meta.resource_name)))