Esempio n. 1
0
    def setUp(self):
        self.region = Region(name="region")
        self.region.save()

        self.company1 = Company(name="compnay1", region=self.region)
        self.company1.save()
        self.store1 = Store(code="1", name="test_1", company=self.company1)
        self.store1.save()
        self.emp = Employee(username="******", organization=self.company1)
        self.emp.save()

        self.company2 = Company(code="2", name="company2", region=self.region)
        self.company2.save()
        self.store2 = Store(code="2", name="test_2", company=self.company2)
        self.store2.save()
        self.store3 = Store(code="3", name="test_3", company=self.company2)
        self.store3.save()
        self.store4 = Store(code="4", name="test_4", company=self.company2)
        self.store4.save()
        self.emp2 = Employee(username="******", organization=self.store2)
        self.emp2.save()
        self.emp3 = Employee(username="******", organization=self.store2)
        self.emp3.save()

        self.admin = User(username="******", is_staff=True)
        self.admin.save()
Esempio n. 2
0
    def setUp(self):
        self.region = Region(name="region")
        self.region.save()
        self.company = Company(code="1001", name="company", region=self.region)
        self.company.save()
        self.store = Store(code="10011001", name="store", company=self.company)
        self.store.save()

        self.emp_region = Employee(username="******", organization=self.region)
        self.emp_region.save()
        self.emp_company = Employee(username="******", organization=self.company)
        self.emp_company.save()
        self.emp_store = Employee(username="******", organization=self.store)
        self.emp_store.save()
        self.empid_not_exists = 31415926

        package = "com.tiantian.ttclock"
        appid = 10000

        d = date(year=2013, month=12, day=1)
        self.log1 = LogMeta(date=d, uid=self.emp_region.pk, appID=appid, appPkg=package)
        self.log1.save()
        self.log2 = LogMeta(date=d, uid=self.emp_company.pk, appID=appid, appPkg=package)
        self.log2.save()
        self.log3 = LogMeta(date=d, uid=self.emp_store.pk, appID=appid, appPkg=package)
        self.log3.save()
        self.logs = LogMeta.objects.all()
Esempio n. 3
0
    def setUp(self):
        log_type = ContentType.objects.get_for_model(LogMeta)
        permission = Permission.objects.get(content_type=log_type, codename="view_organization_statistics")

        self.admin = User(username="******", is_staff=True)
        self.admin.save()

        self.region1 = Region(name="region1")
        self.region1.save()
        self.emp_region1_1 = Employee(username="******", organization=self.region1)
        self.emp_region1_1.save()
        self.emp_region1_1.user_permissions = [permission]

        self.emp_no_perm = Employee(username="******", organization=self.region1)
        self.emp_no_perm.save()

        self.company = Company(code="1001", name="company1", region=self.region1)
        self.company.save()
        self.emp_company = Employee(username="******", organization=self.company)
        self.emp_company.save()
        self.emp_company.user_permissions = [permission]

        self.store = Store(code="10011001", name="store1", company=self.company)
        self.store.save()
        self.emp_store = Employee(username="******", organization=self.store)
        self.emp_store.save()
        self.emp_store.user_permissions = [permission]
Esempio n. 4
0
class TestQueryStores(TestCase):
    def setUp(self):
        log_type = ContentType.objects.get_for_model(LogMeta)
        permission = Permission.objects.get(content_type=log_type, codename="view_organization_statistics")

        self.admin = User(username="******", is_staff=True)
        self.admin.save()

        self.region1 = Region(name="region1")
        self.region1.save()
        self.emp_region1_1 = Employee(username="******", organization=self.region1)
        self.emp_region1_1.save()
        self.emp_region1_1.user_permissions = [permission]

        self.emp_no_perm = Employee(username="******", organization=self.region1)
        self.emp_no_perm.save()

        self.company = Company(code="1001", name="company1", region=self.region1)
        self.company.save()
        self.emp_company = Employee(username="******", organization=self.company)
        self.emp_company.save()
        self.emp_company.user_permissions = [permission]

        self.store = Store(code="10011001", name="store1", company=self.company)
        self.store.save()
        self.emp_store = Employee(username="******", organization=self.store)
        self.emp_store.save()
        self.emp_store.user_permissions = [permission]

    def test_query_stores(self):
        stores = query_stores(self.admin, "")
        self.assertTrue(len(stores) == 0)

        stores = query_stores(self.admin, self.company.pk)
        self.assertItemsEqual(stores, [self.store])

        stores = query_companies(self.emp_no_perm, self.company.pk)
        self.assertTrue(len(stores) == 0)

        stores = query_stores(self.emp_company, self.company.pk)
        self.assertItemsEqual(stores, [self.store])

        stores = query_stores(self.emp_store, self.company.pk)
        self.assertTrue(len(stores) == 0)
Esempio n. 5
0
class TestEmployeeView(TestCase):
    def setUp(self):
        self.region = Region(name="region")
        self.region.save()

        self.company1 = Company(name="compnay1", region=self.region)
        self.company1.save()
        self.store1 = Store(code="1", name="test_1", company=self.company1)
        self.store1.save()
        self.emp = Employee(username="******", organization=self.company1)
        self.emp.save()

        self.company2 = Company(code="2", name="company2", region=self.region)
        self.company2.save()
        self.store2 = Store(code="2", name="test_2", company=self.company2)
        self.store2.save()
        self.store3 = Store(code="3", name="test_3", company=self.company2)
        self.store3.save()
        self.store4 = Store(code="4", name="test_4", company=self.company2)
        self.store4.save()
        self.emp2 = Employee(username="******", organization=self.store2)
        self.emp2.save()
        self.emp3 = Employee(username="******", organization=self.store2)
        self.emp3.save()

        self.admin = User(username="******", is_staff=True)
        self.admin.save()

    def test_query_employee(self):
        emps = query_employee(self.emp, None)
        self.assertTrue(len(emps) == 0)

        emps = query_employee(self.admin, self.company2)
        self.assertTrue(_equal(emps, [self.emp2, self.emp3]))

        emps = query_employee(self.emp, self.company1)
        self.assertTrue(_equal(emps, [self.emp]))

        emps = query_employee(self.emp, self.company2)
        self.assertTrue(len(emps) == 0)
Esempio n. 6
0
class TestUserFilter(TestCase):
    def setUp(self):
        self.region = Region(name="region")
        self.region.save()
        self.company = Company(code="1001", name="company", region=self.region)
        self.company.save()
        self.store = Store(code="10011001", name="store", company=self.company)
        self.store.save()

        self.emp_region = Employee(username="******", organization=self.region)
        self.emp_region.save()
        self.emp_company = Employee(username="******", organization=self.company)
        self.emp_company.save()
        self.emp_store = Employee(username="******", organization=self.store)
        self.emp_store.save()
        self.empid_not_exists = 31415926

        package = "com.tiantian.ttclock"
        appid = 10000

        d = date(year=2013, month=12, day=1)
        self.log1 = LogMeta(date=d, uid=self.emp_region.pk, appID=appid, appPkg=package)
        self.log1.save()
        self.log2 = LogMeta(date=d, uid=self.emp_company.pk, appID=appid, appPkg=package)
        self.log2.save()
        self.log3 = LogMeta(date=d, uid=self.emp_store.pk, appID=appid, appPkg=package)
        self.log3.save()
        self.logs = LogMeta.objects.all()

    def test_admin_filter(self):
        filter = AdminFilter(self.logs, None, self.company.pk, None, None)
        logs = filter.filter()
        self.assertItemsEqual([self.log2, self.log3], logs)

        filter = AdminFilter(self.logs, None, None, None, self.emp_store.pk)
        logs = filter.filter()
        self.assertItemsEqual([self.log3], logs)

        filter = AdminFilter(self.logs, None, None, None, None)
        logs = filter.filter()
        self.assertItemsEqual(logs, logs)

    def test_user_permitted_filter(self):
        filter = UserPermittedFilter(self.emp_company, self.logs, None, None, None, self.emp_company.pk)
        logs = filter.filter()
        self.assertItemsEqual([self.log2], logs)

        filter = UserPermittedFilter(self.emp_company, self.logs, None, None, None, self.emp_region.pk)
        logs = filter.filter()
        self.assertTrue(len(logs) == 0)

        filter = UserPermittedFilter(self.emp_company, self.logs, None, None, self.store.pk, None)
        logs = filter.filter()
        self.assertItemsEqual([self.log3], logs)

        filter = UserPermittedFilter(self.emp_company, self.logs, self.emp_region.pk, None, None, None)
        logs = filter.filter()
        self.assertTrue(len(logs) == 0)

        filter = UserPermittedFilter(self.emp_company, self.logs, None, None, None, None)
        logs = filter.filter()
        self.assertItemsEqual([self.log2, self.log3], logs)

    def test_user_unpermitted_filter(self):
        filter = UserUnpermittedFilter(self.logs, self.emp_store.pk)
        logs = filter.filter()
        self.assertItemsEqual([self.log3], logs)