Ejemplo n.º 1
0
 def test_service_not_in_removed_category(self):
     queryset = Fixtures.es_connection()
     c = Category.objects.get(slug='food-nutrition')
     self.service.categories.add(c)
     self.service.save()
     indexed_service = get_service(queryset, self.service.id)[0]
     self.assertEqual(len(indexed_service['categories']), 1)
     c.delete()
     indexed_service = get_service(queryset, self.service.id)[0]
     self.assertEqual(len(indexed_service['categories']), 0)
Ejemplo n.º 2
0
 def test_adding_category_triggers_reindex(self):
     c = Category.objects.create(name='Children', slug='children')
     self.service.categories.add(c)
     self.service.save()
     queryset = Fixtures.es_connection()
     result = get_service(queryset, self.service.id)[0]
     self.assertEqual(result['categories'][0]['name'], 'Children')
Ejemplo n.º 3
0
 def test_rename_is_reflected_in_index(self):
     self.org.name = "Renamed Test Org"
     self.org.save()
     queryset = Fixtures.es_connection()
     indexed_service = get_service(queryset, self.service.id)[0]
     self.assertEqual(indexed_service['organisation']['name'],
                      self.org.name)
Ejemplo n.º 4
0
 def test_org_delete_cascades(self):
     queryset = Fixtures.es_connection()
     service_id = self.service.id
     Organisation.objects.get(name="TestOrg").delete()
     s = Service.objects.filter(name="My First Service").exists()
     self.assertFalse(s)
     result = get_service(queryset, service_id)
     self.assertEqual(len(result), 0)
Ejemplo n.º 5
0
 def test_unpublished_service_is_not_indexed(self):
     queryset = Fixtures.es_connection()
     self.org.published = False
     self.org.save()
     unpublished_service = Service.objects.create(
         name="My Second Service",
         description="A handy service",
         organisation=self.org,
         created_by=self.org.created_by)
     result = get_service(queryset, unpublished_service.id)
     self.assertEqual(len(result), 0)
Ejemplo n.º 6
0
 def test_organisation_publish(self):
     queryset = Fixtures.es_connection()
     org_queryset = Fixtures.es_organisation_connection()
     self.organisation.published = False
     self.organisation.save()
     unpublished_service = Fixtures.create_service(self.organisation)
     index_result = get_service(queryset, unpublished_service.id)
     self.client.login(username='******', password='******')
     self.assertEqual(len(index_result), 0)
     response = self.client.post(
         reverse('organisation_publish',
                 kwargs={'pk': self.organisation.pk}))
     self.organisation.refresh_from_db()
     index_result = get_service(queryset, unpublished_service.id)
     self.assertEqual(len(index_result), 1)
     self.assertTrue(self.organisation.published)
     self.assertEqual(response.status_code, 302)
     self.assertRedirects(response, (reverse('organisation_unpublished')))
     org_index_result = get_organisation_by_id(org_queryset,
                                               self.organisation.id)
     self.assertEqual(len(org_index_result), 1)
Ejemplo n.º 7
0
    def test_service_has_renamed_category(self):
        c = Category.objects.get(slug='food-nutrition')
        self.service.categories.add(c)
        self.service.save()
        c.name = "food and nutrition"
        c.save()

        queryset = Fixtures.es_connection()
        indexed_service = get_service(queryset, self.service.id)[0]

        is_categorised = c.services.filter(id=self.service.id).exists()
        is_reindexed = c.name == indexed_service['categories'][0]['name']

        self.assertTrue(is_categorised)
        self.assertTrue(is_reindexed)
Ejemplo n.º 8
0
    def test_service_last_edited_valid_update(self):
        old_last_edited_db = self.service.last_edited
        category = Category.objects.first()
        response = self.client.post(reverse('service_edit', kwargs={ 'pk': self.service.pk }),{
            'name': 'an updated service',
            'description': 'a full description',
            'categories': [category.pk],
            'service_areas': [ServiceArea.objects.first().pk]
        })
        self.service.refresh_from_db()
        queryset = Fixtures.es_connection()
        result = get_service(queryset, self.service.id)[0]
        new_last_edited_db = self.service.last_edited

        new_last_edited_db_string = datetime.strftime(new_last_edited_db, '%Y-%m-%dT%H:%M:%S.%f%z')
        new_last_edited_db_string = new_last_edited_db_string.split('+0000')[0] + '+00:00'
        new_last_edited_es = result.last_edited
        self.assertFalse(old_last_edited_db == new_last_edited_db)
        self.assertEqual(new_last_edited_db_string, new_last_edited_es)
Ejemplo n.º 9
0
    def test_service_valid_update(self):
        category = Category.objects.first()
        response = self.client.post(reverse('service_edit', kwargs={ 'pk': self.service.pk }),{
            'name': 'an updated service',
            'description': 'a full description',
            'categories': [category.pk],
            'service_areas': [ServiceArea.objects.first().pk]
        })

        self.service.refresh_from_db()
        queryset = Fixtures.es_connection()
        result = get_service(queryset, self.service.id)[0]
        category_count = len(result['categories'])

        self.assertEqual(category_count, 1)
        self.assertEqual(result['categories'][0]['name'], category.name)
        self.assertEqual(self.service.name, 'an updated service')
        self.assertEqual(self.service.slug, 'an-updated-service')
        self.assertEqual(self.service.updated_by, self.claimant)
        self.assertEqual(response.status_code, 302)
Ejemplo n.º 10
0
 def test_service_update_reindexes(self):
     queryset = Fixtures.es_connection()
     self.service.name = "My Updated Service"
     self.service.save()
     result = get_service(queryset, self.service.id)[0]
     self.assertEqual(result['name'], self.service.name)
Ejemplo n.º 11
0
 def test_deleted_service_is_not_in_index(self):
     queryset = Fixtures.es_connection()
     service_id = self.service.id
     self.service.delete()
     result = get_service(queryset, service_id)
     self.assertEqual(len(result), 0)
Ejemplo n.º 12
0
 def test_new_service_is_indexed(self):
     queryset = Fixtures.es_connection()
     result = get_service(queryset, self.service.id)
     self.assertEqual(len(result), 1)