Ejemplo n.º 1
0
    def test_survey_invite_authentication_nosignup(self):
        Answer = self.env['survey.user_input']

        self.survey.write({
            'access_mode': 'public',
            'users_login_required': True
        })
        action = self.survey.action_send_survey()
        invite_form = Form(self.env[action['res_model']].with_context(
            action['context']))

        with self.assertRaises(
                UserError
        ):  # do not allow to add customer (partner without user)
            invite_form.partner_ids.add(self.customer)
        invite_form.partner_ids.clear()
        invite_form.partner_ids.add(self.user_portal.partner_id)
        invite_form.partner_ids.add(self.user_emp.partner_id)
        with self.assertRaises(UserError):
            invite_form.emails = '[email protected], Raoulette Vignolette <*****@*****.**>'
        invite_form.emails = False

        invite = invite_form.save()
        invite.action_invite()

        answers = Answer.search([('survey_id', '=', self.survey.id)])
        self.assertEqual(len(answers), 2)
        self.assertEqual(set(answers.mapped('email')),
                         set([self.user_emp.email, self.user_portal.email]))
        self.assertEqual(
            answers.mapped('partner_id'),
            self.user_emp.partner_id | self.user_portal.partner_id)
Ejemplo n.º 2
0
    def test_survey_invite_token(self):
        Answer = self.env['survey.user_input']

        self.survey.write({
            'access_mode': 'token',
            'users_login_required': False
        })
        action = self.survey.action_send_survey()
        invite_form = Form(self.env[action['res_model']].with_context(
            action['context']))

        invite_form.partner_ids.add(self.customer)
        invite_form.emails = '[email protected], Raoulette Vignolette <*****@*****.**>'

        invite = invite_form.save()
        invite.action_invite()

        answers = Answer.search([('survey_id', '=', self.survey.id)])
        self.assertEqual(len(answers), 3)
        self.assertEqual(
            set(answers.mapped('email')),
            set([
                '*****@*****.**',
                '"Raoulette Vignolette" <*****@*****.**>',
                self.customer.email
            ]))
        self.assertEqual(answers.mapped('partner_id'), self.customer)