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   732 Views

Avatar
Ryoken

10 March 2011 at 4:28am Community Member, 18 Posts

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

10 March 2011 at 2:23pm Forum Moderator, 5511 Posts

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

12 March 2011 at 9:28am Community Member, 18 Posts

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.