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
|
# 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)
|
||||||
|
|
|
@ -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