コード例 #1
0
    def test_should_allow_authorised_user_to_import_sales_orders(self):
        username = '******'
        password = '******'

        create_user_with_group(username=username,
                               password=password,
                               email='*****@*****.**',
                               group='UNICEF_admin')

        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.sales_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-sales-orders/', FILES)

            self.assertEqual(response.status_code, 200)
            sales_order_item_descriptions = [
                sales_order_item.description
                for sales_order_item in SalesOrderItem.objects.all()
            ]
            self.assertEqual(len(sales_order_item_descriptions), 2)
            self.assertIn('SQFlex 3-10 Pump C/W 1.4KW',
                          sales_order_item_descriptions)
            self.assertIn('Solar Power System', sales_order_item_descriptions)
コード例 #2
0
    def log_ip_viewer_in(self):
        create_user_with_group(username=IP_VIEWER['username'],
                               password=IP_VIEWER['password'],
                               email='*****@*****.**',
                               group=GROUP_IP_VIEWER)

        self.client.login(username=IP_VIEWER['username'], password=IP_VIEWER['password'])
コード例 #3
0
    def log_unicef_viewer_in(self):
        create_user_with_group(username=UNICEF_VIEWER['username'],
                               password=UNICEF_VIEWER['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_VIEWER)

        self.client.login(username=UNICEF_VIEWER['username'], password=UNICEF_VIEWER['password'])
コード例 #4
0
    def log_unicef_admin_in(self):
        create_user_with_group(username=UNICEF_ADMIN['username'],
                               password=UNICEF_ADMIN['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_ADMIN)

        self.client.login(username=UNICEF_ADMIN['username'], password=UNICEF_ADMIN['password'])
コード例 #5
0
    def log_unicef_editor_in(self):
        create_user_with_group(username=UNICEF_EDITOR['username'],
                               password=UNICEF_EDITOR['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_EDITOR)

        self.client.login(username=UNICEF_EDITOR['username'], password=UNICEF_EDITOR['password'])
コード例 #6
0
    def log_ip_editor_in(self):
        create_user_with_group(username=IP_EDITOR['username'],
                               password=IP_EDITOR['password'],
                               email='*****@*****.**',
                               group=GROUP_IP_EDITOR)

        self.client.login(username=IP_EDITOR['username'], password=IP_EDITOR['password'])
コード例 #7
0
    def test_should_allow_authorised_user_to_import_release_orders(self):
        username = '******'
        password = '******'
        create_user_with_group(username=username,
                               password=password,
                               email='*****@*****.**',
                               group='UNICEF_admin')
        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.release_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-release-orders/', FILES)

            self.assertEqual(response.status_code, 200)
            self.assertEqual(ReleaseOrderItem.objects.count(), 3)

            self.assertEqual(
                ReleaseOrderItem.objects.filter(
                    purchase_order_item__sales_order_item__description=
                    'Laptop Lenovo ThinkPad T510').count(), 1)
            self.assertEqual(
                ReleaseOrderItem.objects.filter(
                    purchase_order_item__sales_order_item__description=
                    'Laptop bag').count(), 1)
コード例 #8
0
    def log_unicef_viewer_in(self):
        create_user_with_group(username='******',
                               password='******',
                               email='*****@*****.**',
                               group='UNICEF_viewer')

        self.client.login(username='******', password='******')
コード例 #9
0
    def log_unicef_editor_in(self):
        create_user_with_group(username=UNICEF_EDITOR['username'],
                               password=UNICEF_EDITOR['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_EDITOR)

        self.client.login(username=UNICEF_EDITOR['username'],
                          password=UNICEF_EDITOR['password'])
コード例 #10
0
    def log_ip_viewer_in(self):
        create_user_with_group(username=IP_VIEWER['username'],
                               password=IP_VIEWER['password'],
                               email='*****@*****.**',
                               group=GROUP_IP_VIEWER)

        self.client.login(username=IP_VIEWER['username'],
                          password=IP_VIEWER['password'])
コード例 #11
0
    def log_ip_editor_in(self):
        create_user_with_group(username=IP_EDITOR['username'],
                               password=IP_EDITOR['password'],
                               email='*****@*****.**',
                               group=GROUP_IP_EDITOR)

        self.client.login(username=IP_EDITOR['username'],
                          password=IP_EDITOR['password'])
コード例 #12
0
    def log_unicef_viewer_in(self):
        create_user_with_group(username=UNICEF_VIEWER['username'],
                               password=UNICEF_VIEWER['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_VIEWER)

        self.client.login(username=UNICEF_VIEWER['username'],
                          password=UNICEF_VIEWER['password'])
コード例 #13
0
    def log_unicef_admin_in(self):
        create_user_with_group(username=UNICEF_ADMIN['username'],
                               password=UNICEF_ADMIN['password'],
                               email='*****@*****.**',
                               group=GROUP_UNICEF_ADMIN)

        self.client.login(username=UNICEF_ADMIN['username'],
                          password=UNICEF_ADMIN['password'])
コード例 #14
0
    def test_should_not_allow_unauthorised_user_to_import_purchase_orders(self):
        username = '******'
        password = '******'
        create_user_with_group(username=username, password=password, email='*****@*****.**',
                               group='Implementing Partner_editor')
        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.purchase_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-purchase-orders/', FILES)

            self.assertEqual(response.status_code, 403)
            self.assertEqual(PurchaseOrderItem.objects.count(), 0)
コード例 #15
0
    def test_should_not_allow_unauthorised_user_to_import_release_orders(self):
        username = '******'
        password = '******'
        create_user_with_group(username=username,
                               password=password,
                               email='*****@*****.**',
                               group='Implementing Partner_editor')
        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.release_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-release-orders/', FILES)

            self.assertEqual(response.status_code, 403)
            self.assertEqual(ReleaseOrderItem.objects.count(), 0)
コード例 #16
0
    def test_should_allow_authorised_user_to_import_consignees(self):
        username = '******'
        password = '******'

        create_user_with_group(username=username, password=password, email='*****@*****.**', group='UNICEF_admin')

        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.consignee_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-consignees/', FILES)

            self.assertEqual(response.status_code, 200)
            consignee_names = [consignee.name for consignee in Consignee.objects.all()]
            self.assertEqual(len(consignee_names), 3)
            self.assertIn('ADVOCATE COALITION FOR DE', consignee_names)
            self.assertIn('AGAGO DISTRICT PROBATION', consignee_names)
            self.assertIn('KALAS GIRLS PRIMARY SCHOO', consignee_names)
コード例 #17
0
    def test_should_allow_authorised_user_to_import_purchase_orders(self):
        username = '******'
        password = '******'
        create_user_with_group(username=username, password=password, email='*****@*****.**', group='UNICEF_admin')
        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.purchase_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-purchase-orders/', FILES)

            self.assertEqual(response.status_code, 200)
            self.assertEqual(PurchaseOrderItem.objects.count(), 2)

            self.assertEqual(PurchaseOrderItem.objects.filter(
                sales_order_item__description='Laptop Lenovo ThinkPad T510').count(),
                1)
            self.assertEqual(
                PurchaseOrderItem.objects.filter(sales_order_item__description__exact='Laptop bag').count(), 1)
コード例 #18
0
    def test_should_allow_authorised_user_to_import_sales_orders(self):
        username = '******'
        password = '******'

        create_user_with_group(username=username, password=password, email='*****@*****.**', group='UNICEF_admin')

        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.sales_order_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-sales-orders/', FILES)

            self.assertEqual(response.status_code, 200)
            sales_order_item_descriptions = [sales_order_item.description for sales_order_item in
                                             SalesOrderItem.objects.all()]
            self.assertEqual(len(sales_order_item_descriptions), 2)
            self.assertIn('SQFlex 3-10 Pump C/W 1.4KW', sales_order_item_descriptions)
            self.assertIn('Solar Power System', sales_order_item_descriptions)
コード例 #19
0
    def test_should_allow_authorised_user_to_import_consignees(self):
        username = '******'
        password = '******'

        create_user_with_group(username=username, password=password, email='*****@*****.**', group='UNICEF_admin')

        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.programme_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-programmes/', FILES)

            self.assertEqual(response.status_code, 200)
            wbs_elements = [programme.wbs_element_ex for programme in Programme.objects.all()]
            self.assertEqual(len(wbs_elements), 4)
            self.assertIn('4380/A0/04/107', wbs_elements)
            self.assertIn('4380/A0/04/105', wbs_elements)
            self.assertIn('4380/A0/04/108', wbs_elements)
            self.assertIn('4380/A0/04/800', wbs_elements)
コード例 #20
0
    def test_should_allow_authorised_user_to_import_consignees(self):
        username = '******'
        password = '******'

        create_user_with_group(username=username,
                               password=password,
                               email='*****@*****.**',
                               group='UNICEF_admin')

        self.client.login(username=username, password=password)

        FILES = {}
        with open(self.consignee_file_location) as file:
            FILES['file'] = file
            response = self.client.post('/api/import-consignees/', FILES)

            self.assertEqual(response.status_code, 200)
            consignee_names = [
                consignee.name for consignee in Consignee.objects.all()
            ]
            self.assertEqual(len(consignee_names), 3)
            self.assertIn('ADVOCATE COALITION FOR DE', consignee_names)
            self.assertIn('AGAGO DISTRICT PROBATION', consignee_names)
            self.assertIn('KALAS GIRLS PRIMARY SCHOO', consignee_names)