def setUp(self): super().setUp() self.log_in_master_admin() biotronic = ManufacturerFactory(name='Biotronic') medtronik = ManufacturerFactory(name='Medtronik') ClientFactory(name='Children Hospital') ClientFactory(name='Central hospital') category = CategoryFactory(name='Balloons', specialty=SpecialtyFactory(name='Accessories')) ProductFactory(name='Entrisa', manufacturer=medtronik, category=CategoryFactory(name='DDD pacemaker', specialty=SpecialtyFactory(name='CRD'))) ProductFactory(name='Apex', manufacturer=medtronik, category=category) ProductFactory(name='NC Quantum', manufacturer=biotronic, category=category)
def setUp(self): self.client = ClientFactory(name='UVMC') manufacturer = ManufacturerFactory(name='Medtronic') self.product = ProductFactory(model_number='SESR01', manufacturer=manufacturer) client_price = ClientPriceFactory(product=self.product, client=self.client) self.bulk_discount = DiscountFactory(name='Bulk', client_price=client_price, apply_type=PRE_DOCTOR_ORDER, cost_type=UNIT_COST, discount_type=PERCENT_DISCOUNT, percent=10, value=0, order=1) self.discount_2 = DiscountFactory(client_price=client_price, apply_type=ON_DOCTOR_ORDER, cost_type=SYSTEM_COST) self.device = self.product.device_set.get(client=self.client) self.device.hospital_number = '70669' self.device.save() self.item = ItemFactory(device=self.device, serial_number='PJN7204267', cost_type=SYSTEM_COST, discounts=[self.discount_2]) self.xls_file_path = os.path.join(FIXTURE_DIR, 'items.xls') self._prepare_xls_file()
def setUp(self): self.client_1, self.client_2 = ClientFactory.create_batch(2) manufacturer = ManufacturerFactory(image=ImageField( filename='biotronik.jpg')) product = ProductFactory(manufacturer=manufacturer) self.item_1 = ItemFactory(cost=randint(110, 150), cost_type=UNIT_COST, device=DeviceFactory(client=self.client_1, product=product)) self.item_2 = ItemFactory(cost=randint(210, 290), cost_type=UNIT_COST, device=DeviceFactory(client=self.client_1)) self.item_3 = ItemFactory(cost=randint(400, 500), device=DeviceFactory(client=self.client_2)) self.item_4 = ItemFactory(cost=1000, cost_type=UNIT_COST, device=DeviceFactory( client=self.client_1, product=ProductFactory( manufacturer=manufacturer, category=product.category))) physician_role = RoleFactory(priority=RolePriority.PHYSICIAN.value) self.physician_1 = AccountFactory(client=self.client_1, role=physician_role) self.physician_2 = AccountFactory(client=self.client_2, role=physician_role, user=self.physician_1.user) self.physician_3 = AccountFactory(client=self.client_1, role=physician_role)
def setUp(self): super().setUp() self.client_1 = ClientFactory() self.today = datetime.utcnow().date() self.manufacturer_1, self.manufacturer_2 = ManufacturerFactory.create_batch(2) self.physician = AccountFactory(client=self.client_1, role=RoleFactory(priority=RolePriority.PHYSICIAN.value), user=self.user) self.path = reverse('api:hospital:device:marketshare', args=(self.client_1.id,))
class ManufacturerTestCase(TestCase): def setUp(self): self.manufacturer = ManufacturerFactory() def test_manufacturer_to_string(self): self.assertEqual(str(self.manufacturer), self.manufacturer.name) def test_rebatable_items(self): for model_name in ['product', 'category', 'specialty']: self.assertCountEqual( self.manufacturer.rebatable_items(model_name), []) specialty_1, specialty_2 = SpecialtyFactory.create_batch(2) category_1 = CategoryFactory(specialty=specialty_1) category_2, category_3 = CategoryFactory.create_batch( 2, specialty=specialty_2) product_1 = ProductFactory(category=category_1, manufacturer=self.manufacturer) product_2 = ProductFactory(category=category_2, manufacturer=self.manufacturer) product_3 = ProductFactory(category=category_3, manufacturer=self.manufacturer) product_4 = ProductFactory(category=category_1, manufacturer=self.manufacturer) ProductFactory(category=category_3) self.assertCountEqual(self.manufacturer.rebatable_items('specialty'), [specialty_1, specialty_2]) self.assertCountEqual(self.manufacturer.rebatable_items('category'), [category_1, category_2, category_3]) self.assertCountEqual(self.manufacturer.rebatable_items('product'), [product_1, product_2, product_3, product_4]) self.assertCountEqual( self.manufacturer.rebatable_items('manufacturer'), []) def test_display_name(self): self.assertIsNone(self.manufacturer.short_name) self.assertEqual(self.manufacturer.display_name, self.manufacturer.name) self.manufacturer.short_name = 'MDT' self.assertEqual(self.manufacturer.display_name, 'MDT')
def setUp(self): super().setUp() specialty = SpecialtyFactory() self.account = AccountFactory.create( role=RoleFactory(priority=RolePriority.PHYSICIAN.value), user=self.user, specialties=(specialty, )) self.category_1 = CategoryFactory(specialty=specialty) self.category_2 = CategoryFactory(specialty=specialty) self.manufacturer_1 = ManufacturerFactory(image=ImageField( filename='Abbott.jpg')) self.manufacturer_2 = ManufacturerFactory(image=ImageField( filename='Simon.jpg')) self.product_1 = ProductFactory(category=self.category_1, manufacturer=self.manufacturer_1) self.product_2 = ProductFactory(category=self.category_2, manufacturer=self.manufacturer_2) self.product_3 = ProductFactory(category=self.category_1, manufacturer=self.manufacturer_2) faker = Faker() self.product_1_orders = faker.random_int(min=1, max=5) self.category_2_orders = faker.random_int(min=1, max=4) self.other_orders = faker.random_int(min=1, max=3) self.total_num_orders = self.product_1_orders + self.category_2_orders + self.other_orders OrderFactory.create_batch(self.product_1_orders, physician=self.account, product=self.product_1) OrderFactory.create_batch(self.category_2_orders, physician=self.account, product=self.product_2) OrderFactory.create_batch( self.other_orders, physician=AccountFactory(client=self.account.client), product=self.product_3) self.path = reverse('api:hospital:order:ordersummary_by_category', args=(self.account.client.id, self.category_1.id))
def setUp(self): super().setUp() self.log_in_master_admin() self.client = ClientFactory(name='NSINC') self.product_1 = ProductFactory( name='Accolade VR', manufacturer=ManufacturerFactory(short_name='MDT')) self.product_2 = ProductFactory( name='Evera MRI XT', manufacturer=ManufacturerFactory(short_name='BIO')) ClientPriceFactory(client=self.client, product=self.product_1, system_cost=100, discounts=[ DiscountFactory(name='CCO', cost_type=SYSTEM_COST, discount_type=PERCENT_DISCOUNT, percent=20, order=2, apply_type=ON_DOCTOR_ORDER), DiscountFactory(name='Repless', cost_type=SYSTEM_COST, discount_type=VALUE_DISCOUNT, value=20, order=1, apply_type=ON_DOCTOR_ORDER), ]) bulk_discount = DiscountFactory(name='Bulk', cost_type=UNIT_COST, discount_type=VALUE_DISCOUNT, value=50, order=1, apply_type=PRE_DOCTOR_ORDER) ClientPriceFactory(client=self.client, product=self.product_2, unit_cost=200, discounts=[ DiscountFactory(name='Repless', cost_type=UNIT_COST, percent=10, order=1, apply_type=ON_DOCTOR_ORDER), bulk_discount ]) device = Device.objects.get(client=self.client, product=self.product_2) item = ItemFactory(device=device, is_used=False, serial_number='SER1234', discounts=[bulk_discount], cost_type=UNIT_COST, purchased_date=date(2018, 1, 1)) self.assertEqual(item.cost, 150) physician = AccountFactory( role=RoleFactory(priority=RolePriority.PHYSICIAN.value), client=self.client) self.rep_case = RepCaseFactory(client=self.client, owners=[physician], physician=physician, procedure_date=date(2018, 9, 10)) self.visit_reverse('admin:tracker_repcase_change', self.rep_case.id) self.wait_for_element_contains_text('#content h1', 'Change rep case')
def test_get_method_returns_physician_app_on_used_devices(self): manufacturer = ManufacturerFactory( image=ImageField(filename='medtronic.png'), short_name='MDT') entry_device_1 = DeviceFactory(client=self.client_1, product=ProductFactory( category=self.category, level=ProductLevel.ENTRY.value, manufacturer=manufacturer)) entry_device_2 = DeviceFactory(client=self.client_1, product=ProductFactory( category=self.category, level=ProductLevel.ENTRY.value)) advanced_device = DeviceFactory(client=self.client_1, product=ProductFactory( category=self.category, level=ProductLevel.ADVANCED.value)) today = datetime.utcnow().date() RepCaseFactory(physician=self.physician, client=self.client_1, procedure_date=today, items=[ ItemFactory(is_used=True, device=entry_device_1, cost_type=UNIT_COST, cost=100), ItemFactory(is_used=True, device=advanced_device, cost_type=UNIT_COST, cost=200), ItemFactory(is_used=True, device=entry_device_2, cost_type=UNIT_COST, cost=350), ItemFactory(is_used=True, device=advanced_device, cost_type=SYSTEM_COST, cost=470), ]) RepCaseFactory(client=self.client_1, procedure_date=today, items=[ ItemFactory(is_used=True, device=entry_device_1, cost_type=UNIT_COST, cost=90), ItemFactory(is_used=True, device=advanced_device, cost_type=SYSTEM_COST, cost=430), ]) response = self.authorized_client.get(self.path) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertCountEqual( response.data.pop('manufacturers'), [{ 'id': manufacturer.id, 'name': 'MDT', 'app': '100.00', 'image': 'manufacturers/medtronic.png' }, { 'id': entry_device_2.product.manufacturer.id, 'name': entry_device_2.product.manufacturer.display_name, 'app': '350.00', 'image': None }]) self.assertDictEqual( response.data, { 'client': { 'id': self.client_1.id, 'name': self.client_1.name, 'min': '90.00', 'max': '350.00', 'app': '180.00', }, 'physician': { 'id': self.physician.id, 'name': self.physician.user.name, 'app': '225.00', }, }) rmtree(settings.MEDIA_ROOT)
def setUp(self): super().setUp() self.manufacturer = ManufacturerFactory() self.path = reverse('api:staff:rebatable_items', args=(self.manufacturer.id, 'product'))
def setUp(self): self.manufacturer = ManufacturerFactory()