Ejemplo n.º 1
0
def generate_stock_feedback_report(user, host_name, stocks):
    csv_export_service = StockReportExporter(host_name)
    CSVExportService.generate(csv_export_service.assemble_csv_data(stocks),
                              csv_export_service.export_category,
                              csv_export_service.get_export_csv_file_name())

    CSVExportService.notify(user, *csv_export_service.notification_details())
Ejemplo n.º 2
0
    def test_assemble_csv_data(self):
        total_value_received = '$0.00'
        document_number = '2014111'
        last_received_date = ''
        total_value_dispensed = '$140'
        last_shipment_date = '2014-09-25'
        total_value_lost = '$60'
        balance = '-200'
        programme = u'AAASpecial Programme'
        item = {
            'quantity_dispatched': 7,
            'code': u'Code 296',
            'quantity_delivered': 10,
            'description': u'Another Funny Item',
            'date_delivered': '2014-09-25',
            'date_confirmed': '',
            'quantity_lost': 3,
            'remark_lost': 'stolen',
            'balance': -10,
            'quantity_confirmed': 0,
            'consignee': u'Consignee 62',
            'location': u'Kampala'
        }
        stocks = [
            {
                'total_value_received': total_value_received,
                'document_number': document_number,
                'last_received_date': last_received_date,
                'total_value_dispensed': total_value_dispensed,
                'last_shipment_date': last_shipment_date,
                'total_value_lost': total_value_lost,
                'balance': balance,
                'programme': programme,
                'item': item
            },
        ]

        csv_exporter = StockReportExporter(self.HOSTNAME)
        row_value = [
            document_number, programme, last_shipment_date, last_received_date,
            total_value_received, total_value_dispensed, total_value_lost,
            balance,
            item.get('code'),
            item.get('description'),
            item.get('location'),
            item.get('consignee'),
            item.get('quantity_delivered'),
            item.get('date_delivered'),
            item.get('quantity_confirmed'),
            item.get('date_confirmed'),
            item.get('quantity_dispatched'),
            item.get('quantity_lost'),
            item.get('remark_lost'),
            item.get('balance')
        ]
        assembled_data = csv_exporter.assemble_csv_data(stocks)
        header = csv_exporter.config_headers()
        expect_data = [header, row_value]
        self.assertEqual(expect_data, assembled_data)
        self.assertTrue(len(assembled_data) is 2)
Ejemplo n.º 3
0
def generate_stock_feedback_report(user, host_name, stocks):
    csv_export_service = StockReportExporter(host_name)
    CSVExportService.generate(csv_export_service.assemble_csv_data(stocks),
                              csv_export_service.export_category,
                              csv_export_service.get_export_csv_file_name())

    CSVExportService.notify(user, *csv_export_service.notification_details())
    def test_assemble_csv_data(self):
        total_value_received = '$0.00'
        document_number = '2014111'
        last_received_date = ''
        total_value_dispensed = '$140'
        last_shipment_date = '2014-09-25'
        total_value_lost = '$60'
        balance = '-200'
        programme = u'AAASpecial Programme'
        item = {
                'quantity_dispatched':  7,
                'code': u'Code 296',
                'quantity_delivered': 10,
                'description': u'Another Funny Item',
                'date_delivered': '2014-09-25',
                'date_confirmed': '',
                'quantity_lost': 3,
                'balance': -10,
                'quantity_confirmed': 0,
                'consignee': u'Consignee 62',
                'location': u'Kampala'}
        stocks = [{'total_value_received': total_value_received,
                   'document_number': document_number,
                   'last_received_date': last_received_date,
                   'total_value_dispensed': total_value_dispensed,
                   'last_shipment_date': last_shipment_date,
                   'total_value_lost': total_value_lost,
                   'balance': balance,
                   'programme': programme,
                   'item': item}, ]


        csv_exporter = StockReportExporter(self.HOSTNAME)
        row_value = [
            document_number,
            programme,
            last_shipment_date,
            last_received_date,
            total_value_received,
            total_value_dispensed,
            total_value_lost,
            balance,
            item.get('code'),
            item.get('description'),
            item.get('location'),
            item.get('consignee'),
            item.get('quantity_delivered'),
            item.get('date_delivered'),
            item.get('quantity_confirmed'),
            item.get('date_confirmed'),
            item.get('quantity_dispatched'),
            item.get('quantity_lost'),
            item.get('balance')
        ]
        assembled_data = csv_exporter.assemble_csv_data(stocks)
        header = csv_exporter.config_headers()
        expect_data = [header, row_value]
        self.assertEqual(expect_data, assembled_data)
        self.assertTrue(len(assembled_data) is 2)
    def test_generate_stock_report_should_return_correct_notification_details(self,
                                                                              generate_exported_csv_file_name):
        file_name = 'stocks_report_1448892495779.csv'
        generate_exported_csv_file_name.return_value = file_name
        stock_report_csv_export = StockReportExporter(self.HOSTNAME)

        category = 'report/feedback'
        export_label = stock_report_csv_export.export_label

        details = (settings_export.EMAIL_COMMON_SUBJECT,
                   settings_export.EMAIL_NOTIFICATION_CONTENT.format(export_label,
                                                                     'http://ha.ha/static/exports/' + category +
                                                                     '/' + file_name, CSV_EXPIRED_HOURS))
        self.assertEqual(stock_report_csv_export.notification_details(), details)
Ejemplo n.º 6
0
    def test_generate_stock_report_should_return_correct_notification_details(
            self, generate_exported_csv_file_name):
        file_name = 'stocks_report_1448892495779.csv'
        generate_exported_csv_file_name.return_value = file_name
        stock_report_csv_export = StockReportExporter(self.HOSTNAME)

        category = 'report/feedback'
        export_label = stock_report_csv_export.export_label

        details = (settings_export.EMAIL_COMMON_SUBJECT,
                   settings_export.EMAIL_NOTIFICATION_CONTENT.format(
                       export_label, 'http://ha.ha/static/exports/' +
                       category + '/' + file_name, CSV_EXPIRED_HOURS))
        self.assertEqual(stock_report_csv_export.notification_details(),
                         details)