Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FAQPage odd behaviour #631

Open
martinalderson opened this issue Aug 10, 2023 · 2 comments
Open

FAQPage odd behaviour #631

martinalderson opened this issue Aug 10, 2023 · 2 comments
Labels
bug Issues describing a bug or pull requests fixing a bug.

Comments

@martinalderson
Copy link

martinalderson commented Aug 10, 2023

Describe the bug

First time using this lib, trying to make an FAQPage with multiple questions doesn't really match what the other examples are like.

I could only get it working after a lot of trial and error like this:

var questions = new OneOrMany<IThing>(new List<Question>
                {
                    new Question(){ //question properties },
                    new Question(){ //question properties }
                 });
                 
var faqPage = new FAQPage()
                {
                    MainEntity = questions
                };   

The examples in the test folder use a straight up List<T>, without having to wrap it in a new OneOrMany<IThing>. Adding one question to MainEntity is fine with new Question... straight on the MainEntity prop, which makes it even more counterintuitive imo.

I'm not sure if this expected behaviour, more confusingly it doesn't work with a OneOrMany<Question> either:

Cannot implicitly convert type 'Schema.NET.OneOrMany<Schema.NET.Question>' to Schema.NET.OneOrMany<Schema.NET.IThing>'

If this is expected behaviour, then an example in the Tests folder for an FAQ page would be really helpful.

Steps to reproduce

Try to add a List<Question>of questions to an FAQ MainEntity. It won't allow you to do it.

Expected behaviour

Allow me to add a List without adding a OneOrMany<Question> wrapper.

Schema objects

@martinalderson martinalderson added the bug Issues describing a bug or pull requests fixing a bug. label Aug 10, 2023
@Turnerj
Copy link
Collaborator

Turnerj commented Aug 10, 2023

So the MainEntity property is OneOrMany<IThing> and while we have implicit conversions for OneOrMany etc, if you passed a List<Question>, that can't implicitly convert to a OneOrMany<IThing> but it can to a OneOrMany<Question>.

Now in theory we should be able to make it do it to OneOrMany<IThing> specifically however I also imagine it might get weird for cases like Values<Question, IThing> where it could technically be either one then.

Not sure what a good solution is for this at the moment.

@martinalderson
Copy link
Author

It would be great if an example was added to the folder on how to do this. Regardless I think this ticket should help anyone that searches the project for FAQPage, as there is no documentation at all on it currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues describing a bug or pull requests fixing a bug.
Projects
None yet
Development

No branches or pull requests

2 participants