Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-25 18:50:27 +01:00
Fix tests and linting
Dieser Commit ist enthalten in:
Ursprung
7d2e876584
Commit
dfc1540d52
8 geänderte Dateien mit 40 neuen und 9 gelöschten Zeilen
|
@ -46,10 +46,9 @@ export default SingleSelectComponent.extend(Subscription, {
|
||||||
if (allowGuests) {
|
if (allowGuests) {
|
||||||
const filteredFeature = wizardSchema.filters.allow_guests[feature];
|
const filteredFeature = wizardSchema.filters.allow_guests[feature];
|
||||||
if (filteredFeature) {
|
if (filteredFeature) {
|
||||||
|
|
||||||
const filteredAttribute = filteredFeature[attribute];
|
const filteredAttribute = filteredFeature[attribute];
|
||||||
if (filteredAttribute) {
|
if (filteredAttribute) {
|
||||||
attributes = attributes.filter(a => filteredAttribute.includes(a))
|
attributes = attributes.filter((a) => filteredAttribute.includes(a));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ const wizard = {
|
||||||
allow_guests: null,
|
allow_guests: null,
|
||||||
theme_id: null,
|
theme_id: null,
|
||||||
permitted: null,
|
permitted: null,
|
||||||
allow_guests: null
|
|
||||||
},
|
},
|
||||||
mapped: ["permitted"],
|
mapped: ["permitted"],
|
||||||
required: ["id"],
|
required: ["id"],
|
||||||
|
@ -209,10 +208,10 @@ const action = {
|
||||||
const filters = {
|
const filters = {
|
||||||
allow_guests: {
|
allow_guests: {
|
||||||
action: {
|
action: {
|
||||||
type: ['route_to', 'send_message']
|
type: ["route_to", "send_message"],
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
|
|
||||||
const custom_field = {
|
const custom_field = {
|
||||||
klass: ["topic", "post", "group", "category"],
|
klass: ["topic", "post", "group", "category"],
|
||||||
|
@ -228,7 +227,7 @@ const wizardSchema = {
|
||||||
field,
|
field,
|
||||||
custom_field,
|
custom_field,
|
||||||
action,
|
action,
|
||||||
filters
|
filters,
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildFieldTypes(types) {
|
export function buildFieldTypes(types) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ export default Route.extend({
|
||||||
const wizard = getCachedWizard();
|
const wizard = getCachedWizard();
|
||||||
if (
|
if (
|
||||||
wizard &&
|
wizard &&
|
||||||
|
(wizard.user || wizard.allow_guests) &&
|
||||||
wizard.permitted &&
|
wizard.permitted &&
|
||||||
!wizard.completed &&
|
!wizard.completed &&
|
||||||
wizard.start
|
wizard.start
|
||||||
|
|
|
@ -7,7 +7,12 @@ export default Route.extend({
|
||||||
const wizard = getCachedWizard();
|
const wizard = getCachedWizard();
|
||||||
this.set("wizard", wizard);
|
this.set("wizard", wizard);
|
||||||
|
|
||||||
if (!wizard || !wizard.permitted || wizard.completed) {
|
if (
|
||||||
|
!wizard ||
|
||||||
|
(!wizard.user && !wizard.allow_guests) ||
|
||||||
|
!wizard.permitted ||
|
||||||
|
wizard.completed
|
||||||
|
) {
|
||||||
this.replaceWith("customWizard");
|
this.replaceWith("customWizard");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -24,6 +24,12 @@ class CustomWizard::Subscription
|
||||||
standard: ['*'],
|
standard: ['*'],
|
||||||
business: ['*'],
|
business: ['*'],
|
||||||
community: ['*']
|
community: ['*']
|
||||||
|
},
|
||||||
|
allow_guests: {
|
||||||
|
none: [],
|
||||||
|
standard: ['*'],
|
||||||
|
business: ['*'],
|
||||||
|
community: ['*']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
step: {
|
step: {
|
||||||
|
|
|
@ -24,6 +24,7 @@ describe CustomWizard::StepsController do
|
||||||
|
|
||||||
context "with allow_guests enabled" do
|
context "with allow_guests enabled" do
|
||||||
before do
|
before do
|
||||||
|
enable_subscription("standard")
|
||||||
new_template = wizard_template.dup
|
new_template = wizard_template.dup
|
||||||
new_template["allow_guests"] = true
|
new_template["allow_guests"] = true
|
||||||
new_template.delete("actions")
|
new_template.delete("actions")
|
||||||
|
|
|
@ -9,6 +9,7 @@ import {
|
||||||
import {
|
import {
|
||||||
wizard,
|
wizard,
|
||||||
wizardCompleted,
|
wizardCompleted,
|
||||||
|
wizardGuest,
|
||||||
wizardNoUser,
|
wizardNoUser,
|
||||||
wizardNotPermitted,
|
wizardNotPermitted,
|
||||||
} from "../helpers/wizard";
|
} from "../helpers/wizard";
|
||||||
|
@ -106,3 +107,19 @@ acceptance("Wizard | Wizard", function (needs) {
|
||||||
assert.strictEqual($("body.custom-wizard").length, 0);
|
assert.strictEqual($("body.custom-wizard").length, 0);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
acceptance("Wizard | Guest access", function (needs) {
|
||||||
|
needs.pretender((server, helper) => {
|
||||||
|
server.get("/w/wizard.json", () => helper.response(wizardGuest));
|
||||||
|
});
|
||||||
|
|
||||||
|
test("Does not require login", async function (assert) {
|
||||||
|
await visit("/w/wizard");
|
||||||
|
assert.ok(!exists(".wizard-no-access.requires-login"));
|
||||||
|
});
|
||||||
|
|
||||||
|
test("Starts", async function (assert) {
|
||||||
|
await visit("/w/wizard");
|
||||||
|
assert.ok(query(".wizard-column"), true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
@ -6,6 +6,8 @@ import updateJson from "../fixtures/update";
|
||||||
import { cloneJSON } from "discourse-common/lib/object";
|
import { cloneJSON } from "discourse-common/lib/object";
|
||||||
|
|
||||||
const wizardNoUser = cloneJSON(wizardJson);
|
const wizardNoUser = cloneJSON(wizardJson);
|
||||||
|
const wizardGuest = cloneJSON(wizardJson);
|
||||||
|
wizardGuest.allow_guests = true;
|
||||||
const wizard = cloneJSON(wizardJson);
|
const wizard = cloneJSON(wizardJson);
|
||||||
wizard.user = cloneJSON(userJson);
|
wizard.user = cloneJSON(userJson);
|
||||||
|
|
||||||
|
@ -40,6 +42,7 @@ export {
|
||||||
wizardNoUser,
|
wizardNoUser,
|
||||||
wizardNotPermitted,
|
wizardNotPermitted,
|
||||||
wizardCompleted,
|
wizardCompleted,
|
||||||
|
wizardGuest,
|
||||||
stepNotPermitted,
|
stepNotPermitted,
|
||||||
allFieldsWizard,
|
allFieldsWizard,
|
||||||
wizard,
|
wizard,
|
||||||
|
|
Laden …
In neuem Issue referenzieren