<p>This relates to <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1347" class="issue-link js-issue-link" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/1347" data-id="186081071" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#1347</a> and a discussion about the best way to handle the case where we are creating a trace directly in the database using the factory and the trace model therefore expects to find the corresponding files on disk.</p>
<p>With the old fixtures we knew the trace IDs and simply had matching files in the repository but with factories the IDs are not predictable so <a href="https://github.com/gravitystorm" class="user-mention">@gravitystorm</a> stubbed methods which relied on the files to refer to the copies on disk.</p>
<p>This alternate approach instead adds a <code>fixture</code> transient attribute to the factory that causes it to link the appropriate files from the fixture directory that is committed to the live trace directories.</p>
<p>I would note that several of the tests this affects were doing extremely dodgy things (that may have been inherited from the old fixture based code) like overwriting the original files and I have fixed all those as part of this.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1426#issuecomment-277535619">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLQVmZOWEotf1RKqcX2-PaJb1Q66Lks5rZgr6gaJpZM4L3kFq">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLThwC4sqNTkSTjAzJHte_4jk0HJ_ks5rZgr6gaJpZM4L3kFq.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/pull/1426#issuecomment-277535619"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@tomhughes in #1426: This relates to #1347 and a discussion about the best way to handle the case where we are creating a trace directly in the database using the factory and the trace model therefore expects to find the corresponding files on disk.\r\n\r\nWith the old fixtures we knew the trace IDs and simply had matching files in the repository but with factories the IDs are not predictable so @gravitystorm stubbed methods which relied on the files to refer to the copies on disk.\r\n\r\nThis alternate approach instead adds a `fixture` transient attribute to the factory that causes it to link the appropriate files from the fixture directory that is committed to the live trace directories.\r\n\r\nI would note that several of the tests this affects were doing extremely dodgy things (that may have been inherited from the old fixture based code) like overwriting the original files and I have fixed all those as part of this."}],"action":{"name":"View Pull Request","url":"https://github.com/openstreetmap/openstreetmap-website/pull/1426#issuecomment-277535619"}}}</script>