Skip to content

Commit

Permalink
[ADD] connector_carepoint: Add more import crons
Browse files Browse the repository at this point in the history
* Add patient import cron
* Add physician import cron
* Add address
  • Loading branch information
lasley committed Oct 11, 2016
1 parent 3dc0fc3 commit 3d55e6c
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 16 deletions.
35 changes: 34 additions & 1 deletion connector_carepoint/data/ir_cron_data.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<field name="args">()</field>
</record>

<record id="ir_cron_connector_carepoint_sale_order_order" model="ir.cron">
<record id="ir_cron_connector_carepoint_sale_order" model="ir.cron">
<field name="name">Fetch Updated CarePoint Sales</field>
<field name="interval_number">10</field>
<field name="interval_type">minutes</field>
Expand All @@ -28,5 +28,38 @@
<field name="function">cron_import_sale_order</field>
<field name="args">()</field>
</record>

<record id="ir_cron_connector_carepoint_medical_physician" model="ir.cron">
<field name="name">Fetch Updated CarePoint Physicians</field>
<field name="interval_number">10</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model">carepoint.backend</field>
<field name="function">cron_import_medical_physician</field>
<field name="args">()</field>
</record>

<record id="ir_cron_connector_carepoint_medical_patient" model="ir.cron">
<field name="name">Fetch Updated CarePoint Patients</field>
<field name="interval_number">10</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model">carepoint.backend</field>
<field name="function">cron_import_medical_patient</field>
<field name="args">()</field>
</record>

<record id="ir_cron_connector_carepoint_address" model="ir.cron">
<field name="name">Fetch Updated CarePoint Addresses</field>
<field name="interval_number">10</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model">carepoint.backend</field>
<field name="function">cron_import_address</field>
<field name="args">()</field>
</record>

</odoo>
39 changes: 24 additions & 15 deletions connector_carepoint/models/carepoint_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,14 +285,6 @@ def resync_all(self, binding_model):
force=True,
)

@api.model
def cron_import_medical_prescription(self):
self.search([]).import_medical_prescription()

@api.model
def cron_import_sale_order(self):
self.search([]).import_sale_order()

@api.multi
def import_carepoint_item(self):
self._import_from_date('carepoint.carepoint.item',
Expand All @@ -305,23 +297,39 @@ def import_medical_patient(self):
'import_patients_from_date')
return True

@api.model
def cron_import_medical_patient(self):
self.search([]).import_medical_patient()

@api.multi
def import_medical_physician(self):
self._import_from_date('carepoint.medical.physician',
'import_physicians_from_date')
return True

@api.model
def cron_import_medical_physician(self):
self.search([]).import_medical_physician()

@api.multi
def import_medical_prescription(self):
self._import_from_date('carepoint.medical.prescription.order.line',
'import_prescriptions_from_date')
return True

@api.model
def cron_import_medical_prescription(self):
self.search([]).import_medical_prescription()

@api.multi
def import_sale_order(self):
self._import_from_date('carepoint.sale.order.line',
'import_sales_from_date')

@api.model
def cron_import_sale_order(self):
self.search([]).import_sale_order()

@api.multi
def import_stock_picking(self):
self._import_from_date('carepoint.stock.picking',
Expand All @@ -333,13 +341,14 @@ def import_account_invoice(self):
'import_invoices_from_date',
'primary_pay_date')

# @api.multi
# def import_address(self):
# # self._import_from_date('carepoint.carepoint.address',
# # 'import_addresses_from_date')
# self._import_all('carepoint.carepoint.address.pharmacy')
# self._import_all('carepoint.carepoint.address.physician')
# self._import_all('carepoint.carepoint.address.patient')
@api.multi
def import_address(self):
self._import_from_date('carepoint.carepoint.address',
'import_addresses_from_date')

@api.model
def cron_import_address(self):
self.search([]).import_address()

@api.multi
def import_fdb(self):
Expand Down
45 changes: 45 additions & 0 deletions connector_carepoint/tests/test_carepoint_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,42 @@ def test_cron_import_medical_prescription_import(self):
self.backend.cron_import_medical_prescription()
mk().import_medical_prescription.assert_called_once_with()

def test_cron_import_medical_patient_search(self):
""" It should search for all backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_medical_patient()
mk.assert_called_once_with([])

def test_cron_import_medical_patient_import(self):
""" It should call import on found backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_medical_patient()
mk().import_medical_patient.assert_called_once_with()

def test_cron_import_medical_physician_search(self):
""" It should search for all backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_medical_physician()
mk.assert_called_once_with([])

def test_cron_import_medical_physician_import(self):
""" It should call import on found backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_medical_physician()
mk().import_medical_physician.assert_called_once_with()

def test_cron_import_address_search(self):
""" It should search for all backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_address()
mk.assert_called_once_with([])

def test_cron_import_address_import(self):
""" It should call import on found backends """
with mock.patch.object(self.backend, 'search') as mk:
self.backend.cron_import_address()
mk().import_address.assert_called_once_with()

def test_cron_import_sale_order_search(self):
""" It should search for all backends """
with mock.patch.object(self.backend, 'search') as mk:
Expand Down Expand Up @@ -167,6 +203,15 @@ def test_import_medical_physician(self):
'import_physicians_from_date',
)

def test_import_addresses(self):
""" It should import proper model on date field """
with mock.patch.object(self.backend, '_import_from_date') as mk:
self.backend.import_address()
mk.assert_called_once_with(
'carepoint.carepoint.address',
'import_addresses_from_date',
)

def test_import_medical_prescription(self):
""" It should import proper model on date field """
with mock.patch.object(self.backend, '_import_from_date') as mk:
Expand Down

0 comments on commit 3d55e6c

Please sign in to comment.