Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Unit Test Help


Go to End


3 Posts   1480 Views

Avatar
Ryoken

Community Member, 18 Posts

10 March 2011 at 4:28am

I'm writing Unit tests for some of my code, and I'm running into some problems..

I'll make a basic scenario --

class Alpha extends page{

static $belongs_many_many = array('Betas' => 'Beta');
}

class Beta extends page{

static $many_many = array('Alphas' => 'Alpha');
}

Now in my yml file I have :

Alpha:
a1:
Title: Alpha 1

Beta:
b1:
Title: Beta 1
Alphas: =>Alpha.a1

When I try an run one of my tests I get:
'Undefined index: Alpha'
PHPUnit_Util_ErrorHandler::handleError( 8, Undefined index: Alpha, ...path..., 246, Array)
YamlFixture->parseFixtureVal(=>Alpha.a1)
...

There really aren't many examples of dealing with many_many relations in SS's PHPUnit testing, so I'm clearly doing something wrong, but none of my tests have got me a working result :/

Avatar
Willr

Forum Moderator, 5523 Posts

10 March 2011 at 2:23pm

Have a look at ComponentSetTest. That has a many_many so you should be able to use that (and the yaml) as reference.

Avatar
Ryoken

Community Member, 18 Posts

12 March 2011 at 9:28am

Thanks, that helped me try a few things that solved the problem..

The issue seems to be the order of elements in the YML file..

Basically, and I guess it wasn't reflected in my sample code, I was defining b1, and it's relation to Alphas a1 before I had defined a1.