summaryrefslogtreecommitdiff
path: root/addons/website_slides/static/src/components/activity
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_slides/static/src/components/activity
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_slides/static/src/components/activity')
-rw-r--r--addons/website_slides/static/src/components/activity/activity_tests.js126
1 files changed, 126 insertions, 0 deletions
diff --git a/addons/website_slides/static/src/components/activity/activity_tests.js b/addons/website_slides/static/src/components/activity/activity_tests.js
new file mode 100644
index 00000000..d754428c
--- /dev/null
+++ b/addons/website_slides/static/src/components/activity/activity_tests.js
@@ -0,0 +1,126 @@
+odoo.define('website_slides/static/src/tests/activity_tests.js', function (require) {
+'use strict';
+
+const components = {
+ Activity: require('mail/static/src/components/activity/activity.js'),
+};
+
+const {
+ afterEach,
+ beforeEach,
+ createRootComponent,
+ start,
+} = require('mail/static/src/utils/test_utils.js');
+
+QUnit.module('website_slides', {}, function () {
+QUnit.module('components', {}, function () {
+QUnit.module('activity', {}, function () {
+QUnit.module('activity_tests.js', {
+ beforeEach() {
+ beforeEach(this);
+
+ this.createActivityComponent = async activity => {
+ await createRootComponent(this, components.Activity, {
+ props: { activityLocalId: activity.localId },
+ target: this.widget.el,
+ });
+ };
+
+ this.start = async params => {
+ const { env, widget } = await start(Object.assign({}, params, {
+ data: this.data,
+ }));
+ this.env = env;
+ this.widget = widget;
+ };
+ },
+ afterEach() {
+ afterEach(this);
+ },
+});
+
+QUnit.test('grant course access', async function (assert) {
+ assert.expect(8);
+
+ await this.start({
+ async mockRPC(route, args) {
+ if (args.method === 'action_grant_access') {
+ assert.strictEqual(args.args.length, 1);
+ assert.strictEqual(args.args[0].length, 1);
+ assert.strictEqual(args.args[0][0], 100);
+ assert.strictEqual(args.kwargs.partner_id, 5);
+ assert.step('access_grant');
+ }
+ return this._super(...arguments);
+ },
+ });
+ const activity = this.env.models['mail.activity'].create({
+ id: 100,
+ canWrite: true,
+ thread: [['insert', {
+ id: 100,
+ model: 'slide.channel',
+ }]],
+ requestingPartner: [['insert', {
+ id: 5,
+ displayName: "Pauvre pomme",
+ }]],
+ type: [['insert', {
+ id: 1,
+ displayName: "Access Request",
+ }]],
+ });
+ await this.createActivityComponent(activity);
+
+ assert.containsOnce(document.body, '.o_Activity', "should have activity component");
+ assert.containsOnce(document.body, '.o_Activity_grantAccessButton', "should have grant access button");
+
+ document.querySelector('.o_Activity_grantAccessButton').click();
+ assert.verifySteps(['access_grant'], "Grant button should trigger the right rpc call");
+});
+
+QUnit.test('refuse course access', async function (assert) {
+ assert.expect(8);
+
+ await this.start({
+ async mockRPC(route, args) {
+ if (args.method === 'action_refuse_access') {
+ assert.strictEqual(args.args.length, 1);
+ assert.strictEqual(args.args[0].length, 1);
+ assert.strictEqual(args.args[0][0], 100);
+ assert.strictEqual(args.kwargs.partner_id, 5);
+ assert.step('access_refuse');
+ }
+ return this._super(...arguments);
+ },
+ });
+ const activity = this.env.models['mail.activity'].create({
+ id: 100,
+ canWrite: true,
+ thread: [['insert', {
+ id: 100,
+ model: 'slide.channel',
+ }]],
+ requestingPartner: [['insert', {
+ id: 5,
+ displayName: "Pauvre pomme",
+ }]],
+ type: [['insert', {
+ id: 1,
+ displayName: "Access Request",
+ }]],
+ });
+ await this.createActivityComponent(activity);
+
+ assert.containsOnce(document.body, '.o_Activity', "should have activity component");
+ assert.containsOnce(document.body, '.o_Activity_refuseAccessButton', "should have refuse access button");
+
+ document.querySelector('.o_Activity_refuseAccessButton').click();
+ assert.verifySteps(['access_refuse'], "refuse button should trigger the right rpc call");
+});
+
+});
+});
+});
+
+});