public function test_sync_should_get_repositories_from_github_and_save_them()
 {
     $employee = Employee::builder()->withUsername("jgiovaresco")->build();
     $repositories = array(Repository::builder()->withName("repo1")->build(), Repository::builder()->withName("repo2")->build());
     $this->mockGitHubRestClient->expects($this->once())->method('listUserRepositories')->with('jgiovaresco')->willReturn($repositories);
     $this->mockRepositoryRepository->expects($this->at(0))->method('save')->with($this->equalTo($repositories[0]));
     $this->mockRepositoryRepository->expects($this->at(1))->method('save')->with($this->equalTo($repositories[1]));
     $this->syncService->sync($employee);
 }
 /**
  * @param $employee Employee
  * @return Repository[]
  */
 public function listUserRepositories($employee)
 {
     $url = self::BASE_URL . '/' . $employee->username() . '/repos';
     $response = $this->request->uri($url)->expectsJson()->send();
     $repositories = array();
     if (is_array($response->body)) {
         foreach ($response->body as $repo) {
             array_push($repositories, Repository::builder()->withId($repo->id)->withName($repo->name)->withOwnerId($employee->employeeId())->build());
         }
     }
     return $repositories;
 }