public function selectRandomTaggedFact($user_id, $tag_id)
 {
     $tagged_facts = TaggedFact::whereRaw("tag_id = {$tag_id}")->get();
     foreach ($tagged_facts as $tagged_fact) {
         $facts[] = $tagged_fact->fact;
     }
     return $this->transformAndReturnFact($facts);
 }
 public function test_If_random_tagged_fact_is_selected()
 {
     $user = $this->getTestUser();
     $this->mockFacts($user, 5);
     $tag_id = Tag::create(['tag_name' => 'Test Tag'])->id;
     $facts = Fact::where('user_id', $user->id)->get();
     foreach ($facts as $fact) {
         TaggedFact::create(['fact_id' => $fact->id, 'tag_id' => $tag_id]);
     }
     $this->factSelector = new \App\GladysApp\Domain\FactSelector();
     $fact = $this->factSelector->selectRandomTaggedFact($user->id, $tag_id);
     $fact_id = $fact['id'];
     $taggedFact = TaggedFact::whereRaw("fact_id = {$fact_id} AND tag_id = 1")->first();
     $this->assertEquals(1, $taggedFact->tag_id);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($fact_id, $tag_id)
 {
     $tagFactRow = TaggedFact::whereRaw("tag_id = '{$tag_id}' and fact_id = '{$fact_id}'")->first();
     $tagFactRow->forceDelete();
 }