def test_provider_change_own_data(self): # Non-staff can change their own provider provider = ProviderFactory(user=self.user) # Tweak some data provider.name_en = 'Jim-Bob' provider.name_ar = 'Ahmed-Bob' provider.name_fr = 'Pierre-Bob' book = get_export_workbook([provider]) rsp = self.import_book(book) self.assertEqual(OK, rsp.status_code, msg=rsp.content.decode('utf-8')) new_provider = Provider.objects.get(id=provider.id) self.assertEqual(provider.name_en, new_provider.name_en) self.assertEqual(provider.name_ar, new_provider.name_ar) self.assertEqual(provider.name_fr, new_provider.name_fr)
def test_staff_change_provider_invalid_id(self): self.user.is_staff = True self.user.save() provider = ProviderFactory() # Tweak some data provider.name_en = 'Jim-Bob' provider.name_ar = 'Ahmed-Bob' provider.name_fr = 'Pierre-Bob' book = get_export_workbook([provider], cell_overwrite_ok=True) sheet = book.get_sheet(0) sheet.write(r=1, c=0, label='xyz') rsp = self.import_book(book) self.assertContains(rsp, "id: xyz is not a valid ID", status_code=BAD_REQUEST, msg_prefix=rsp.content.decode('utf-8'))
def test_staff_change_provider(self): # Staff can change another user's provider self.user.is_staff = True self.user.save() provider = ProviderFactory() # Tweak some data provider.name_en = 'Jim-Bob' provider.name_ar = 'Ahmed-Bob' provider.name_fr = 'Pierre-Bob' book = get_export_workbook([provider]) rsp = self.import_book(book) self.assertEqual(OK, rsp.status_code, msg=rsp.content.decode('utf-8')) new_provider = Provider.objects.get(id=provider.id) self.assertEqual(provider.name_en, new_provider.name_en) self.assertEqual(provider.name_ar, new_provider.name_ar) self.assertEqual(provider.name_fr, new_provider.name_fr)
def test_staff_change_nonexistent_provider(self): # Staff can change another user's provider self.user.is_staff = True self.user.save() provider = ProviderFactory() # Tweak some data provider.name_en = 'Jim-Bob' provider.name_ar = 'Ahmed-Bob' provider.name_fr = 'Pierre-Bob' book = get_export_workbook([provider]) provider_id = provider.id provider.delete() rsp = self.import_book(book) self.assertContains(rsp, "There is no provider with id=%d" % provider_id, status_code=BAD_REQUEST, msg_prefix=rsp.content.decode('utf-8'))
def test_staff_change_providers(self): # Staff can change multiple providers self.user.is_staff = True self.user.save() provider1 = ProviderFactory() provider2 = ProviderFactory() # Tweak some data provider1.name_en = 'Jim-Bob' provider1.name_ar = 'Ahmed-Bob' provider1.name_fr = 'Pierre-Bob' provider2.number_of_monthly_beneficiaries = 1024 provider2.type = ProviderTypeFactory() book = get_export_workbook([provider1, provider2]) rsp = self.import_book(book) self.assertEqual(OK, rsp.status_code, msg=rsp.content.decode('utf-8')) new_provider1 = Provider.objects.get(id=provider1.id) self.assertEqual(provider1.name_en, new_provider1.name_en) self.assertEqual(provider1.name_ar, new_provider1.name_ar) self.assertEqual(provider1.name_fr, new_provider1.name_fr) new_provider2 = Provider.objects.get(id=provider2.id) self.assertEqual(provider2.number_of_monthly_beneficiaries, new_provider2.number_of_monthly_beneficiaries)