The use of create(:normal_user) makes the tests needlessly harder to
understand and reason about, particularly when we start using
associations in the factories.
Rather than passing around record ids explicitly, we can use the
model relations and pass around the models. This makes reading the
tests slightly simpler to read.
I've ported across the naming for each note from the old fixture names.
This helps in the mega-tests where multiple notes are tested at the
same time.
The number or results have changed in some tests, since there's little
point in creating e.g. 5 note comments when 2 is enough to test the
functionality.
The "creator" attribute is required and "extensions" is the correct
name of this element.
Validated with SAXCount from the xerces-c package:
$ SAXCount -v=always -n -s -f notes.gpx
Original error messages:
Error at file /home/markus/notes.gpx, line 2, char 171
Message: no declaration found for element 'gpx'
Error at file /home/markus/notes.gpx, line 2, char 171
Message: attribute 'version' is not declared for element 'gpx'
After adding the "xmlns" attribute:
Error at file /home/markus/notes.gpx, line 2, char 213
Message: missing required attribute 'creator'
Error at file /home/markus/notes.gpx, line 18, char 14
Message: no declaration found for element 'extension'
Error at file /home/markus/notes.gpx, line 26, char 7
Message: element 'extension' is not allowed for content model '(ele?,time?,magvar?,geoidheight?,name?,cmt?,desc?,src?,link*,sym?,type?,fix?,sat?,hdop?,vdop?,pdop?,ageofdgpsdata?,dgpsid?,extensions?)'
The current errors now are caused by the missing XML schema for the
extensions.
Also add the time, name and link elements.