1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/social/tests/common.py
2024-12-10 09:04:09 +07:00

74 lines
2.6 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.mail.tests.common import mail_new_test_user
from odoo.addons.social.tests.tools import mock_void_external_calls
from odoo.tests import common
class SocialCase(common.TransactionCase):
@classmethod
def setUpClass(cls):
super(SocialCase, cls).setUpClass()
with mock_void_external_calls():
cls.social_media = cls._get_social_media()
cls.social_account = cls._get_social_account()
attachments = [{
'name': 'first.png',
'datas': 'ABCDEFG='
}, {
'name': 'second.png',
'datas': 'GFEDCBA='
}]
cls.social_accounts = cls._get_post_social_accounts()
cls.social_post = cls.env['social.post'].create({
'message': 'A message',
'image_ids': [(0, 0, attachment) for attachment in attachments],
'post_method': 'now',
'account_ids': [(4, account.id) for account in cls.social_accounts]
})
cls.social_manager = mail_new_test_user(
cls.env, name='Gustave Doré', login='social_manager', email='social.manager@example.com',
groups='social.group_social_manager,base.group_user'
)
cls.social_user = mail_new_test_user(
cls.env, name='Lukas Peeters', login='social_user', email='social.user@example.com',
groups='social.group_social_user,base.group_user'
)
cls.user_emp = mail_new_test_user(
cls.env, name='Eglantine Employee', login='user_emp', email='employee@example.com',
groups='base.group_user', password='user_emp'
)
@classmethod
def _get_social_media(cls):
return None
@classmethod
def _get_social_account(cls):
return cls.env['social.account'].create({
'media_id': cls._get_social_media().id,
'name': 'Social Account 1'
})
@classmethod
def _get_post_social_accounts(cls):
return cls.social_account | cls.env['social.account'].create({
'media_id': cls._get_social_media().id,
'name': 'Social Account 2'
})
def _checkPostedStatus(self, success):
live_posts = self.env['social.live.post'].search([('post_id', '=', self.social_post.id)])
self.assertEqual(len(live_posts), 2)
self.assertTrue(all(live_post.state == 'posted' if success else 'failed' for live_post in live_posts))
self.assertEqual(self.social_post.state, 'posted')