Commit Graph
22 Commits
Author SHA1 Message Date
Thibault Delavallée b173dae36b [IMP] test_event_full: go post-install
In order to test performances let us be sure all modules are installed.

Task-2703289 (Event testing and coverage)
Preparing Task-2703285 (Event performance improvements)

Part-of: odoo/odoo#81717
2021-12-21 20:20:50 +00:00
Thibault Delavallée 8e867c0c8f [UPD] test_event_full: update counters
Followup of odoo/odoo@034d369 . Now that followers computation is done in
batch we gain 1 query per additional record to create in a recordset. Indeed
some searches are now performed in batch instead of in loop. This allows to
gain notably 19 queries on batch of 20 records to create for example.

Task-2703289 (Event testing and coverage)
Preparing Task-2703285 (Event performance improvements)

Part-of: odoo/odoo#81717
2021-12-21 20:20:50 +00:00
Thibault Delavallée f4ef456cd7 [IMP] test_event_full: add tests without event_crm impact
Current registrations tests run with event_crm rules being activated. In
order to better highlight their impact (which is important) let us have
some tests skipping them.

Followup of odoo/odoo#81068

Task-2703289 (Event testing and coverage)
Preparing Task-2703285 (Event performance improvements)

closes odoo/odoo#81604

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-12-21 08:07:03 +00:00
Thibault Delavallée 90a9495887 [FIX] test_event_full: fix rare extra query on batch registration creation
Seems soemtimes an extra query is generated.

Part-of: odoo/odoo#81604
2021-12-21 08:07:02 +00:00
Thibault Delavallée 2411a6b69c [IMP] test_event_full: add performance on frontend and registration tour
Purpose of this commit is to add performance tests for some commonly used
URLs related to event: the main event page and browsing a given event.

A complete registration tour involving buying tickets, answering questions
and filling billing information is also added under a query counter check.
This allows to see a bit how many queries are involved in that flow. To
ease reproduction a data is added but not imported, allowing to quickly see
what happens locally instead of having to debug tests.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:49 +00:00
Thibault Delavallée eee03e9ce0 [IMP] test_event_full: add performance tests
Add performance test for event and registration creation. This serves as a base
for future cleaning and improvements for both models and performance in event
models targeting v16.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:49 +00:00
Thibault Delavallée ea56328280 [IMP] test_event_full: add tests for template and seats synchronization
Purpose of this commit is to add tests about template (``event.type`` model)
synchronization when creating an event. Some tests already exist in event sub
addons but this one has all community features activate. It eases checking the
final result.

Tests about seats computation and registration creation prevention due to
limits are also added as this behavior may be re-implemented soon.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:48 +00:00
Thibault Delavallée ad5c08ca09 [REF] test_event_full: cleanup tests
Purpose of this commit is to make test_event_full globally independent from
other event sub modules testing data. We now define a complete event type
with all sub options clearly activated in a single setup. That way tests
in test_event_full are easier to read, understand and modify.

A custom report replacing badge report is added as the base one is quite
complex. It is easier to test the result with simpler templates.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:48 +00:00
Thibault Delavallée 237911775c [REF] website_event_*: remove manual datetime patch
Use freezegun as it is more easy to use and allow to remove a lot of extra
boilerplate. Indeed manually patching datetime is a PITA as a lot of imports
have to be patched.

A custom patching has to be done for create_date, as it is done using a value
stored on the cursor (cr._now), based on SQL now. As it has nothing to do
with standard python library it cannot be patched using freezegun.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:47 +00:00
Thibault Delavallée db19463f25 [REF] event(_*): clean tests common files
Purpose is to have a common event class for users and useful stuff (customers,
products, ...) but lessen usage of common test data through sub modules.
Indeed having a "global event type" test data updated in various addons is
actually complicated to maintain.

Sub add-ons are updated to use mainly the ``EventCase`` test class holding
users and side data. Data specific to those modules (event type with some
specific configuration notably) is created and used in tests in the given
module only, and not through generic event_type_complex and event_0 test
data anymore.

With this commit tests are more localized to their add-on and modifying data
in a given add-on has less chances to have unwanted side effect in other event
submodules unit tests.

Task-2703285 (Event performance improvements)
Task-2703289 (Event testing and coverage)

Part-of: odoo/odoo#81068
2021-12-16 17:33:47 +00:00
william-andre c8ec3e954b [IMP] {website_,}event_sale: remove event_ok from product
This is now a type of product.

task-2605931

Part-of: odoo/odoo#75862
2021-09-07 15:50:01 +00:00
Martin Trigaux c7bac3dee0 [IMP] *: make ir.model.data helper private
No reason to interfact with them directly in RPC
2021-08-10 13:49:04 +02:00
Debauche Stéphane d9ffbe9e89 [IMP] event: merge the SMS template and the mail template into one field
Purpose
=======
A new module "Event Social" will be added in the enterprise PR. This
new module will use a new template type, the "Social Post Template"
adding one more column in the communication tab...

We want to have only one column to select the template (Mail, SMS or
Post template) and therefor we need to use a reference field.

Technical
=========
As we can not set a domain on a reference field, we added a context key
and in the `_name_search` of the `mail/sms.template` we filter with the
domain we want if the key exists.

Links
=====
Task-2127615
See odoo/odoo/pull/46304
See odoo/enterprise/pull/7701
See odoo/upgrade/pull/848
2021-07-14 08:32:59 +00:00
nounoubensebia 89d72df22b [IMP] *_event_*: revamp event template form
This commit revamps the event template form to be similar to the event form
itself and removes unnecessary fields, purpose is to give more clarity to the
user.

It also fixes the order of the fields in the event form to be exactly
the same as in the front-end, so that the user don't get confused.

Task-2541208

closes odoo/odoo#71856

Ent-pr: https://github.com/odoo/enterprise/pull/19128
Upg-pr: https://github.com/odoo/upgrade/pull/2516
Related: odoo/enterprise#19128
Related: odoo/upgrade#2516
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-07-01 09:37:41 +00:00
std-odoo e0c2a8a2cc [IMP] event_*: clean ACL and add a new group "Registration Desk"
Purpose
=======

Clean the ACLs related to the Event application.

Add a new group to manage the registration in the entrance of an event. This
group should not be able to modify or remove records in Event but should be
able to create and manage the registrations.

Specifications
==============

Now, there are 3 event groups

  * ``Registration Desk User``, who can manage the registrations and
    read all event-related information;
  * ``Event User`` who can create event, sponsor, ticket... His role is
    to globally handle events on a day-to-day basis;
  * ``Event Administrator`` who can create event type, sponsor type,
    ticket type... His role is to manage the way events are managed withint
    its company:

Each group implies all previous groups.

Compared to previous event users gain a lot of rules, allowing to update
records like tickets, registrations, ... Low-end event users should now
use the registration desk group.

Links
=====

Task ID-2204364
COM odoo/odoo#57022
ENT odoo/enterprise#13984
UPG odoo/upgrade#1897
2021-04-02 13:40:50 +00:00
std-odoo 0948870e7d [MOV] event: move the security tests to "Test Event Full"
Purpose
=======
Move the security tests of event to "Test Event Full", so if we
change the ACLs in a sub-modules, we are sure to test it.

Task 2204364
PR odoo/odoo/pull/65867
Migration odoo/upgrade/pull/2150
2021-02-10 14:07:46 +00:00
Thibault Delavallée b0845c0f2b [REM] website_event_online: merge into website_event
PURPOSE

Clean organization and models linked to Event Online feature introduced in
semi stable saas-13.3 at odoo/odoo@981f95bbf4 and odoo/enterprise@14722028ae

Also clean website event menu not being available in website event but only
in website event track, which implies some extra-code to manage it.

In short: merge website_event_online in website_event, website_event_track
_(online/session) in website_event_track.

RATIONALE

_online modules have been added to extend content of website_event and
website_event_track without having any impact on those module. First step
of cleaning is to move this content directly in base module.

track_session module is mainly a rewrite of track module. Second step of
cleaning is to move its content directly in website_event_track.

SPECIFICATIONS

Move remaining content of website event online to website event.

Update dependencies accordingly.

LINKS

Task ID-2319779
COM odoo/odoo#56067
ENT odoo/enterprise#12520
UPG odoo/upgrade#1654
2020-08-21 17:30:13 +00:00
Thibault Delavallée 4d411615fa [IMP] website_event_track_session: display not yet scheduled tracks
PURPOSE

Allow users to display tracks that have not been scheduled yet. In tracks list
they should be displayed to allow generating much hype about those.

SPECIFICATIONS: NOT SCHEDULED TRACKS

Some customers announce their tracks before giving them a date.
As tracks pages are based on date, they are currently not displayed.

Add an 'Coming Soon' section in tracks list with tracks not having a
date. This is displayed below day-based tracks display.

Now that we support displaying tracks without date, various fixes
are also applied to various places where date is used.

UPDATE

  * website_event_track_session.event_track_content
  * website_event_track_session.tracks_display_list
  * website_event_track_live.tracks_display_list

LINKS

Task ID-2323246
PR odoo/odoo#56180

X-original-commit: ab70df2670ed67929ee53af00a5dbc7d0b246589
2020-08-20 14:03:07 +00:00
Thibault Delavallée 040c439450 [IMP] test_event_full: improve full tour registration test
Adding some steps and checks, notably

  * add questions and fill them while registering;
  * in unit test launching tour, check content of registration
    as well as visitor;

LINKS

Task ID-2169118
odoo/odoo#55967
odoo/enterprise#12438

X-original-commit: 83f5c49f8f6734ab2beb9347029cbb69d154d15d
2020-08-17 16:29:52 +00:00
Aurélien Warnon eb1e28ced3 [FIX] test_event_full: fix several small issues in tour
This commit fixes several small issues in the test_event_full tour that was
relying on selectors that have been since reworked.

In addition:
- Set the track we set the reminder to in the future so that the button appears
- Avoid going on the exhibitor page because Jitsi will trigger an error
- Make sure we go on the registration confirmed page

Task #2317947

closes odoo/odoo#55956

X-original-commit: 11b7f4446ddec6ab237ed6076838bfbbaca03be6
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-14 16:33:16 +00:00
Thibault Delavallée 0ba681f974 [ADD] test_event_full: add a test module containing a whole event-online flow
RATIONALE

Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...

PURPOSE

Have a module to test all those new features.

SPECIFICATIONS

Do as much tests as possible, which will probably be around "no time". At
least have a base module allowing to add them after main merge.

LINKS

Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2299857 (Event Design Review)
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283869 (Notify attendees by push)
Task ID-2283738 (Sponsors -> Exhibitors upgrade)
Task ID-2283735 (Talks -> Session upgrade)
Task ID-2283729 (Live/Youtube Tracks)
Task ID-2283771 (Quizzes on Talks, Leaderboard)
Task ID-2283742 (Community gathering on chat rooms)
Task ID-2291344 (Integrate Twitter Wall)
2020-08-04 14:28:29 +00:00
Thibault Delavallée fbd42b33ad [ADD] test_event_full: new module for testing all event capabilities
PURPOSE

Introduce an automated tool to create leads from event registrations. Events
are a powerful source of leads as they attract attention. This leads to leads
with good quality as they mark interest while gathering contact information
which allows to follow-up.

This merge aims at automating this process by automatically creating leads
based on user-defined rules.

SPECIFICATIONS

Add a module allowing to test a complete event install: add all event
dependencies. Currently only crm rules are tested as part of the lead
generation tasks. Future commits will add notably tours using all features
of event.

LINKS

Task ID 2166679
PR #52334
Upgrade PR odoo/upgrade#1292
2020-06-10 16:10:28 +00:00