mirror of https://github.com/OCA/web.git
[IMP] web_widget_digitized_signature: Add tests
parent
705af75b40
commit
58c97a02c5
|
@ -4,13 +4,24 @@
|
|||
# Copyright 2017 Tecnativa - Vicent Cubells
|
||||
# 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'
|
||||
_inherit = 'res.users'
|
||||
_inherit = ['res.users', 'mail.thread']
|
||||
|
||||
signature_image = fields.Binary(
|
||||
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)
|
||||
|
|
|
@ -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
|
|
@ -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…
Reference in New Issue