Example #1
0
    def generate_back_office(self):
        self.stdout.write('Generating Back Office assets')
        back_office_status = BackOfficeAssetStatus()
        status_count = len(back_office_status)
        per_page = self.object_limit / status_count
        parent_category = CategoryFactory(name='BACK OFFICE',
                                          imei_required=False)
        for i in range(3):
            ProfitCenterFactory()

        for status_id, name in back_office_status:
            for i in range(int(per_page)):
                BackOfficeAssetFactory(
                    status=status_id,
                    user=self.get_user(),
                    owner=self.get_user(),
                    model=BackOfficeAssetModelFactory(category=CategoryFactory(
                        parent=parent_category)))
                BackOfficeAssetFactory(status=status_id,
                                       user=self.get_user(),
                                       owner=self.get_user(),
                                       model=BackOfficeAssetModelFactory(
                                           category=CategoryFactory(
                                               name='Mobile Phone',
                                               imei_required=True,
                                               parent=parent_category),
                                           name='Phone'),
                                       imei=get_imei(15))
Example #2
0
 def setUpClass(cls):
     super().setUpClass()
     cls.region_pl = RegionFactory(name='PL', country=Country.pl)
     cls.region_us = RegionFactory(name='US', country=Country.us)
     cls.category = CategoryFactory(code='PC')
     cls.category_without_code = CategoryFactory()
     cls.model = BackOfficeAssetModelFactory(category=cls.category)
     cls.model_without_code = BackOfficeAssetModelFactory(
         category=cls.category_without_code)
Example #3
0
    def setUp(self):
        super().setUp()
        self.user1 = factories.UserFactory()
        self.user2 = factories.UserFactory()
        self.service_env = ServiceEnvironmentFactory()
        self.model = BackOfficeAssetModelFactory()
        self.warehouse = WarehouseFactory()
        self.warehouse.stocktaking_enabled = True
        self.warehouse.save()
        self.asset = BackOfficeAssetFactory(
            warehouse=self.warehouse,
            model=self.model,
        )
        self.asset.user = self.user1
        self.asset.save()

        self.base_tag = settings.INVENTORY_TAG
        if self.asset.warehouse.stocktaking_tag_suffix != '':
            self.base_tag = '{prefix}-{warehouse}'.format(
                prefix=self.base_tag,
                warehouse=self.asset.warehouse.stocktaking_tag_suffix,
            )
        self.date_tag = None
        if settings.INVENTORY_TAG_APPEND_DATE:
            self.date_tag = '{base}_{date}'.format(
                base=self.base_tag,
                date=date.today().isoformat(),
            )
        self.tags = [
            self.base_tag,
            settings.INVENTORY_TAG_USER,
            self.date_tag,
        ]
Example #4
0
 def setUp(self):
     super().setUp()
     self.service_env = ServiceEnvironmentFactory()
     self.model = BackOfficeAssetModelFactory()
     self.warehouse = WarehouseFactory()
     self.bo_asset = BackOfficeAssetFactory(
         warehouse=self.warehouse,
         model=self.model,
     )
     self.bo_asset.user = self.user1
     self.bo_asset.owner = self.user2
     self.bo_asset.save()
Example #5
0
 def test_generate_next_hostname_out_of_range(self):
     category = CategoryFactory(code='PC')
     model = BackOfficeAssetModelFactory(category=category)
     asset = BackOfficeAssetFactory(model=model,
                                    region=self.region_pl,
                                    hostname='')
     AssetLastHostname.objects.create(prefix='POLPC', counter=99999)
     template_vars = {
         'code': asset.model.category.code,
         'country_code': asset.country_code,
     }
     asset.generate_hostname(template_vars=template_vars)
     self.assertEqual(asset.hostname, 'POLPC100000')
Example #6
0
 def test_generate_first_hostname(self):
     """Scenario:
      - none of assets has hostname
      - after generate first of asset have XXXYY00001 in hostname field
     """
     category = CategoryFactory(code='PC')
     model = BackOfficeAssetModelFactory(category=category)
     asset = BackOfficeAssetFactory(model=model, hostname='')
     template_vars = {
         'code': asset.model.category.code,
         'country_code': asset.country_code,
     }
     asset.generate_hostname(template_vars=template_vars)
     self.assertEqual(asset.hostname, 'POLPC00001')
Example #7
0
 def test_generate_next_hostname(self):
     category = CategoryFactory(code='PC')
     model = BackOfficeAssetModelFactory(category=category)
     asset = BackOfficeAssetFactory(model=model,
                                    region=self.region_pl,
                                    hostname='')
     BackOfficeAssetFactory(region=self.region_pl, hostname='POLSW00003')
     AssetLastHostname.increment_hostname(prefix='POLPC')
     AssetLastHostname.increment_hostname(prefix='POLPC')
     template_vars = {
         'code': asset.model.category.code,
         'country_code': asset.country_code,
     }
     asset.generate_hostname(template_vars=template_vars)
     self.assertEqual(asset.hostname, 'POLPC00003')
Example #8
0
 def test_can_generate_hostname_for_model_with_hostname(self):
     category = CategoryFactory(code='PC')
     model = BackOfficeAssetModelFactory(category=category)
     asset = BackOfficeAssetFactory(model=model, region=self.region_pl)
     self._check_hostname_is_generated(asset)
Example #9
0
 def test_cant_generate_hostname_for_model_without_category(self):
     model = BackOfficeAssetModelFactory(category=None)
     asset = BackOfficeAssetFactory(model=model,
                                    region=self.region_pl,
                                    hostname='')
     self._check_hostname_not_generated(asset)