/**
  * @test
  */
 public function it_creates_a_new_program_level_given_valid_parameters()
 {
     //arrange
     $this->make('App\\Program');
     $program = App\Program::first();
     //act
     $this->getJson('program_levels', 'POST', ['name' => 'Test Program Level', 'program_id' => $program->id]);
     //assert
     $this->assertResponseStatus(201);
 }
 /**
  * @test
  */
 public function it_deletes_a_program()
 {
     //arrange
     $this->make('App\\Program');
     $program = App\Program::first();
     //act
     $response = $this->getJson('programs/' . $program->id, 'DELETE');
     $program = App\Program::onlyTrashed()->find($program->id);
     //assert
     $this->assertResponseStatus(200);
     $this->assertObjectHasAttributes($response, 'message');
     $this->assertContains('The program has been deleted.', $response->message);
     $this->assertEquals($program->trashed(), True);
 }
 /**
  * @test
  */
 public function it_deletes_an_enrollment()
 {
     //arrange
     $attendeeTest = new AttendeesTest();
     $programTest = new ProgramsTest();
     $this->times(1)->make('App\\Attendee', $attendeeTest->getStub());
     $this->times(1)->make('App\\Program', $programTest->getStub());
     $program = App\Program::first();
     $attendee = App\Attendee::first();
     App\Enrollment::create(['attendee_id' => $attendee->id, 'program_id' => $program->id, 'start_date' => $this->faker->dateTimeBetween($startDate = '-12 months')]);
     $enrollment = App\Enrollment::first();
     //act
     $response = $this->getJson('enrollments/' . $enrollment->id, 'DELETE');
     $enrollment = App\Enrollment::onlyTrashed()->find($enrollment->id);
     //assert
     $this->assertResponseStatus(200);
     $this->assertObjectHasAttributes($response, 'message');
     $this->assertContains('The enrollment has been deleted.', $response->message);
     $this->assertEquals($enrollment->trashed(), True);
 }