public function testProcessVerifyConvertToStreams()
 {
     $this->resetEvents();
     $path = $this->copyFileToTemp($this->fileName());
     $s = $this->service();
     $companyId = rand(1000, 1000000);
     $fileDetails = ["year" => 2015, "quarter" => 2];
     $rpf = $s->process($path, $companyId, $fileDetails);
     $this->assertTrue($rpf->status == RoyaltyPaymentFile::STATUS_PAYMENTS_PROCESSED);
     $rpf = $s->processRoyaltyStreams($rpf);
     $this->assertTrue($rpf->status == RoyaltyPaymentFile::STATUS_PROCESSED);
     $payees = User::all();
     $payee1 = $payees[0];
     $payee2 = $payees[1];
     //deal care are payee_code = user payee_code
     $deals = Deal::all();
     $this->assertTrue(count($deals) == 2);
     $this->assertTrue($deals[0]->name == "Statement Analysis for " . $payee1->name);
     $this->assertTrue($deals[0]->etl_status == "processed");
     $this->assertTrue($deals[0]->company_id == $payee1->company_id);
     $this->assertTrue($deals[0]->payee_code == $payee1->code);
     $this->assertTrue($deals[0]->payment_analysis == 1);
     $this->assertTrue($deals[1]->name == "Statement Analysis for " . $payee2->name);
     $this->assertTrue($deals[1]->etl_status == "processed");
     $this->assertTrue($deals[1]->company_id == $payee2->company_id);
     $this->assertTrue($deals[1]->payee_code == $payee2->code);
     $this->assertTrue($deals[1]->payment_analysis == 1);
     $rsfs = RoyaltyStreamFile::all();
     $this->assertTrue(count($rsfs) == 2);
     $rsf1 = RoyaltyStreamFile::where("deal_id", "=", $deals[0]->id)->first();
     $this->assertTrue($rsf1 != null);
     $this->assertTrue($rsf1->stream_file_name == $rpf->path);
     $this->assertTrue($rsf1->period_year == $fileDetails["year"]);
     $this->assertTrue($rsf1->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($rsf1->period_month == 4);
     $this->assertTrue($rsf1->company_id == $payee1->company_id);
     $this->assertTrue($rsf1->period_type == 1);
     $this->assertTrue($rsf1->period_year_quarter == $fileDetails["year"] . "Q" . $fileDetails["quarter"]);
     $rsf2 = RoyaltyStreamFile::where("deal_id", "=", $deals[1]->id)->first();
     $this->assertTrue($rsf2 != null);
     $this->assertTrue($rsf2->stream_file_name == $rpf->path);
     $this->assertTrue($rsf2->period_year == $fileDetails["year"]);
     $this->assertTrue($rsf2->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($rsf2->period_month == 4);
     $this->assertTrue($rsf2->company_id == $payee2->company_id);
     $this->assertTrue($rsf2->period_type == 1);
     $this->assertTrue($rsf2->period_year_quarter == $fileDetails["year"] . "Q" . $fileDetails["quarter"]);
     $streams = RoyaltyStream::all();
     $this->assertTrue(count($streams) == 4);
     $this->assertTrue($streams[0]->royalty_country_iso == "US");
     $this->assertTrue($streams[0]->royalty_currency == "USD");
     $this->assertTrue($streams[0]->song_number == "60106");
     $this->assertTrue($streams[0]->song_title == "10 On Top - CUES");
     $this->assertTrue($streams[0]->royalty_amount == 2.71);
     $this->assertTrue($streams[0]->party_name == "Coon");
     $this->assertTrue($streams[0]->performance_source == "ASCAP");
     $this->assertTrue($streams[0]->serial_or_film == "Program Name: ONE DIRECTION ROBIN THICKE AND THE VAMPI");
     $this->assertTrue($streams[0]->region == "US");
     $this->assertTrue($streams[0]->number_of_plays == 0);
     $this->assertTrue($streams[0]->statement_period_from == "2014-01-00 00:00:00");
     $this->assertTrue($streams[0]->statement_period_to == "2014-03-00 00:00:00");
     $this->assertTrue($streams[0]->episode_name == "");
     $this->assertTrue($streams[0]->period_year == $fileDetails["year"]);
     $this->assertTrue($streams[0]->period_month == 4);
     $this->assertTrue($streams[0]->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($streams[0]->participant_percent == 100);
     $this->assertTrue($streams[0]->performance_year == 2014);
     $this->assertTrue($streams[0]->performance_month == 1);
     $this->assertTrue($streams[0]->performance_quarter == 1);
     $this->assertTrue($streams[0]->royalty_type == "Performance");
     $this->assertTrue($streams[0]->account_name == "Pop Virus (PACIFICA)");
     $this->assertTrue($streams[0]->company_name == "Pacifica Music Library");
     $this->assertTrue($streams[0]->company_code == "PAC1");
     $this->assertTrue($streams[0]->payee_name == "Pop Virus (PACIFICA)");
     $this->assertTrue($streams[0]->payee_code == "1379");
     $this->assertTrue($streams[0]->stream_file_id == $rsf2->id);
     $this->assertTrue($streams[1]->royalty_country_iso == "CA");
     $this->assertTrue($streams[1]->royalty_currency == "USD");
     $this->assertTrue($streams[1]->song_number == "77674");
     $this->assertTrue($streams[1]->song_title == "10 On Top Cues");
     $this->assertTrue($streams[1]->royalty_amount == 0.09);
     $this->assertTrue($streams[1]->party_name == "Coon/Helmich");
     $this->assertTrue($streams[1]->performance_source == "ASCAP Intl");
     $this->assertTrue($streams[1]->serial_or_film == "");
     $this->assertTrue($streams[1]->region == "CA");
     $this->assertTrue($streams[1]->number_of_plays == 0);
     $this->assertTrue($streams[1]->statement_period_from == "2012-10-00 00:00:00");
     $this->assertTrue($streams[1]->statement_period_to == "2012-12-00 00:00:00");
     $this->assertTrue($streams[1]->episode_name == "");
     $this->assertTrue($streams[1]->period_year == $fileDetails["year"]);
     $this->assertTrue($streams[1]->period_month == 4);
     $this->assertTrue($streams[1]->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($streams[1]->participant_percent == 100);
     $this->assertTrue($streams[1]->performance_year == 2012);
     $this->assertTrue($streams[1]->performance_month == 10);
     $this->assertTrue($streams[1]->performance_quarter == 4);
     $this->assertTrue($streams[1]->royalty_type == "Performance");
     $this->assertTrue($streams[1]->account_name == "Pop Virus (PACIFICA)");
     $this->assertTrue($streams[1]->company_name == "Pacifica Music Library");
     $this->assertTrue($streams[1]->company_code == "PAC1");
     $this->assertTrue($streams[1]->payee_name == "Pop Virus (PACIFICA)");
     $this->assertTrue($streams[1]->payee_code == "1379");
     $this->assertTrue($streams[1]->stream_file_id == $rsf2->id);
     $this->assertTrue($streams[2]->royalty_country_iso == "DE");
     $this->assertTrue($streams[2]->royalty_currency == "USD");
     $this->assertTrue($streams[2]->song_number == "45297");
     $this->assertTrue($streams[2]->song_title == "2nd Hand Ring");
     $this->assertTrue($streams[2]->royalty_amount == 23.7);
     $this->assertTrue($streams[2]->party_name == "Keen");
     $this->assertTrue($streams[2]->performance_source == "GEMA");
     $this->assertTrue($streams[2]->serial_or_film == "Source Statement Id: 2137");
     $this->assertTrue($streams[2]->region == "DE");
     $this->assertTrue($streams[2]->number_of_plays == 0);
     $this->assertTrue($streams[2]->statement_period_from == "2012-01-00 00:00:00");
     $this->assertTrue($streams[2]->statement_period_to == "2012-12-00 00:00:00");
     $this->assertTrue($streams[2]->episode_name == "");
     $this->assertTrue($streams[2]->period_year == $fileDetails["year"]);
     $this->assertTrue($streams[2]->period_month == 4);
     $this->assertTrue($streams[2]->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($streams[2]->participant_percent == 100);
     $this->assertTrue($streams[2]->performance_year == 2012);
     $this->assertTrue($streams[2]->performance_month == 1);
     $this->assertTrue($streams[2]->performance_quarter == 1);
     $this->assertTrue($streams[2]->royalty_type == "Performance");
     $this->assertTrue($streams[2]->account_name == "Studio 51");
     $this->assertTrue($streams[2]->company_name == "Pacifica Music Library");
     $this->assertTrue($streams[2]->company_code == "PAC1");
     $this->assertTrue($streams[2]->payee_name == "Studio 51");
     $this->assertTrue($streams[2]->payee_code == "1175");
     $this->assertTrue($streams[2]->stream_file_id == $rsf1->id);
     $this->assertTrue($streams[3]->royalty_country_iso == "DE");
     $this->assertTrue($streams[3]->royalty_currency == "USD");
     $this->assertTrue($streams[3]->song_number == "45297");
     $this->assertTrue($streams[3]->song_title == "2nd Hand Ring");
     $this->assertTrue($streams[3]->royalty_amount == 22.4);
     $this->assertTrue($streams[3]->party_name == "Keen");
     $this->assertTrue($streams[3]->performance_source == "GEMA");
     $this->assertTrue($streams[3]->serial_or_film == "Source Statement Id: 2137");
     $this->assertTrue($streams[3]->region == "DE");
     $this->assertTrue($streams[3]->number_of_plays == 0);
     $this->assertTrue($streams[3]->statement_period_from == "2012-01-00 00:00:00");
     $this->assertTrue($streams[3]->statement_period_to == "2012-12-00 00:00:00");
     $this->assertTrue($streams[3]->episode_name == "");
     $this->assertTrue($streams[3]->period_year == $fileDetails["year"]);
     $this->assertTrue($streams[3]->period_month == 4);
     $this->assertTrue($streams[3]->period_quarter == $fileDetails["quarter"]);
     $this->assertTrue($streams[3]->participant_percent == 100);
     $this->assertTrue($streams[3]->performance_year == 2012);
     $this->assertTrue($streams[3]->performance_month == 1);
     $this->assertTrue($streams[3]->performance_quarter == 1);
     $this->assertTrue($streams[3]->royalty_type == "Mechanical");
     $this->assertTrue($streams[3]->account_name == "Studio 51");
     $this->assertTrue($streams[3]->company_name == "Pacifica Music Library");
     $this->assertTrue($streams[3]->company_code == "PAC1");
     $this->assertTrue($streams[3]->payee_name == "Studio 51");
     $this->assertTrue($streams[3]->payee_code == "1175");
     $this->assertTrue($streams[3]->stream_file_id == $rsf1->id);
     $this->resetEvents();
 }