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(); }