def test_limit_dict_for_stateful_resource(self): request = generate_request() columns = generate_columns() class Resource(YaatModelResource): class Meta: resource_name = 'test' stateful_init = True limit = 10 limit_choices = [10, 20, 30] resource = Resource() post = {} form = YaatValidatorForm(post, request=request, columns=columns, resource=resource) self.assertTrue(form.is_valid()) self.assertEqual(form.limit_dict(request, resource), { 'limit': Resource.Meta.limit, 'options': Resource.Meta.limit_choices }) form.invalidate_state() # Normally the resource of the form calls this method post = {'limit': 20} form = YaatValidatorForm(post, request=request, columns=columns, resource=resource) self.assertTrue(form.is_valid()) self.assertEqual(form.limit_dict(request, resource), { 'limit': post['limit'], 'options': Resource.Meta.limit_choices })
def test_limit_dict_for_resource(self): request = generate_request() resource = YaatModelResource() limit_dict = YaatValidatorForm.limit_dict(request, resource) self.assertEqual(limit_dict, { 'limit': YaatModelResource._meta.limit, 'options': YaatModelResource._meta.limit_choices })
def test_limit_dict_for_stateful_resource_wo_state(self): # When a user loads the resource for the very first time his state # is still undefined but the limit_dict must contain something request = generate_request() class Resource(YaatModelResource): class Meta: resource_name = 'test' stateful_init = True limit = 10 limit_choices = [10, 20, 30] resource = Resource() self.assertEqual(YaatValidatorForm.limit_dict(request, resource), { 'limit': Resource.Meta.limit, 'options': Resource.Meta.limit_choices })