Browse Source

[IMP] web_widget_digitized_signature: Add tests

pull/725/head
Pedro M. Baeza 7 years ago
committed by eLBati
parent
commit
58c97a02c5
  1. 17
      web_widget_digitized_signature/models/res_users.py
  2. 4
      web_widget_digitized_signature/tests/__init__.py
  3. 34
      web_widget_digitized_signature/tests/test_signature_tracking.py

17
web_widget_digitized_signature/models/res_users.py

@ -4,13 +4,24 @@
# Copyright 2017 Tecnativa - Vicent Cubells # Copyright 2017 Tecnativa - Vicent Cubells
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp import models, fields
from openerp import api, fields, models
class Users(models.Model):
class ResUsers(models.Model):
_name = 'res.users' _name = 'res.users'
_inherit = 'res.users'
_inherit = ['res.users', 'mail.thread']
signature_image = fields.Binary( signature_image = fields.Binary(
string='Signature', string='Signature',
) )
@api.model
def create(self, vals):
res = super(ResUsers, self).create(vals)
res._track_signature(vals, 'signature')
return res
@api.multi
def write(self, vals):
self._track_signature(vals, 'signature')
return super(ResUsers, self).write(vals)

4
web_widget_digitized_signature/tests/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import test_signature_tracking

34
web_widget_digitized_signature/tests/test_signature_tracking.py

@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp.tests import common
class TestSignatureTracking(common.SavepointCase):
@classmethod
def setUpClass(cls):
super(TestSignatureTracking, cls).setUpClass()
cls.user = cls.env.user
cls.user.lang = 'en_US'
# Simple 1x1 transparent base64 encoded GIF
cls.image = 'R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='
cls.attachment_obj = cls.env['ir.attachment']
cls.message_obj = cls.env['mail.message']
def test_signature_tracking(self):
"""We have to test in a tricky way, as res.users doesn't allow a
direct chatter"""
prev_attachment_num = self.attachment_obj.search_count([])
prev_messages = self.message_obj.search([])
self.user.signature = self.image
current_attachment_num = self.attachment_obj.search_count([])
self.assertEqual(current_attachment_num - prev_attachment_num, 1)
current_messages = self.message_obj.search([])
message = current_messages - prev_messages
self.assertIn('Signature has been created.', message.body)
prev_messages = current_messages
self.user.signature = False
current_messages = self.message_obj.search([])
message = current_messages - prev_messages
self.assertIn('Signature has been deleted.', message.body)
Loading…
Cancel
Save