← Back to team overview

schooltool-developers team mailing list archive

Unit tests for intervention properties

 

Hey Justas,

Could you please look at my latest commit to
lp:~aelkner/schooltool.intervention/test_coverage?  Hopefully you kept
the sandbox around so that you only need to do a pull.  Anyway, I made
the change to the implementation of the contact related fields to use
RelationshipProperty.  It has passing unit tests, but I haven't
updated the views yet.

So mostly, at this point I wanted to know if you thought I set up the
URIObjects and the  RelationshipProperty replacements for the id lists
in the right way.  If there's anything that you would want done
differently, now would be a good time to know, sparing me wasted time
changing view code to fit the wrong model.  You may remember that the
at_one_time_responsible attribute has to be maintained automatically
by the setter property for persons_responsible, so that method had to
change to handle the lists turning into relationships.

In sendmail I changed it to abort the sending of mail when the
sender/creator has magically disappeared due to an abandoned link.
There's always gong to be that funny logic for handling a property
that, in theory, will never grow passed one element but could become
empty due to the link removal.

I had to fix evolve1 to move the creator out of dublin core into a
contact rather than just the id.  There is also evolve4 which created
the at_one_time_responsible but also populates the hidden attribute,
_persons_responsible, in a way that will need to be sorted out in the
new evolve script that I write.  I'll have a more detailed analysis
and set of questions for the whole evolve situation in a couple of
days, but for now I wanted you to keep it in the back of your mind.

You'll note the vast simplification of the helper routines which are
much smaller now that the objects themselves are carrying lists of
contacts in the form of  RelationshipProperty.  I still need the
convenience of presenting names as 'first last' and sorting them by
last name (until someone tells me otherwise) and sorting email lists
by address.  I need the predictability for tests, since
RelationshipProperty works like a dict in that its iterator is not
predictable, but also because there's no reason a random order would
look better to the user than a sorted one.

Anyway, any feedback you might have at this point would be much appreciated.

Thanks,
Alan