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.

General Questions /

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

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

Unit Test Help


Reply


3 Posts   780 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, 5513 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.