/** * A basic functional test example. * * @return void */ public function testMailHook() { $campaignData['client_id'] = 1; $campaignData['domain'] = 'mg.amsvr.co.uk'; $campaignData['mail_from'] = new Email('*****@*****.**'); $clientData['name'] = 'vendirun'; $clientData['api_key'] = 'pra869z5'; $clientData['web_hook_end_point'] = 'http://app.vendirun.local/api/v1/mailwebhook'; $campaign = new Campaign($campaignData); $client = new Client($clientData); $webHookRelay = new App\AmbitiousMailSender\Base\Services\WebHookRelay\StandardWebHookRelay(); $vars = ['domain' => 'mg.amsvr.co.uk', 'event' => 'dropped', 'recipient' => '*****@*****.**']; $result = $webHookRelay->relay($vars, $client, new \App\AmbitiousMailSender\Base\Services\HttpRequest\GuzzleHttpRequest()); $this->assertEquals($campaign->domain(), 'mg.amsvr.co.uk'); $this->assertEquals($result, true); }
/** * @test */ function it_has_some_fields_that_can_be_set_and_recalled() { $campaign = new Campaign($this->campaignData); $this->assertEquals(1, $campaign->id()); $this->assertEquals('fJFur', $campaign->remoteCampaignId()); $this->assertEquals('Test Campaign', $campaign->campaignName()); $this->assertEquals('This is a test campaign', $campaign->subjectLine()); $this->assertEquals('Alistair Shaw', $campaign->fromName()); $this->assertEquals(true, $campaign->trackOpens()); $this->assertEquals(false, $campaign->trackClicks()); $this->assertEquals('<p>This is a test</p>', $campaign->html()); $this->assertEquals('This is a test', $campaign->plaintext()); $this->assertEquals('*****@*****.**', $campaign->fromEmail()); $this->assertEquals('*****@*****.**', $campaign->replyToEmail()); $this->assertEquals('*****@*****.**', $campaign->bounceEmail()); $this->assertEquals('gmail.com', $campaign->domain()); $this->assertEquals('2015-03-01 09:25:37', $campaign->createdAt()); $this->assertEquals('2015-03-05 19:15:32', $campaign->updatedAt()); }
/** * @param Campaign $campaign * @return Campaign */ public function save($campaign) { $data = ['id' => $campaign->id(), 'client_id' => $campaign->clientId(), 'remote_campaign_id' => $campaign->remoteCampaignId(), 'campaign_name' => $campaign->campaignName(), 'subject_line' => $campaign->subjectLine(), 'from_name' => $campaign->fromName(), 'track_opens' => $campaign->trackOpens(), 'track_clicks' => $campaign->trackClicks(), 'html' => $campaign->html(), 'plaintext' => $campaign->plaintext(), 'from_email' => $campaign->fromEmail(), 'reply_to_email' => $campaign->replyToEmail(), 'bounce_email' => $campaign->bounceEmail(), 'domain' => $campaign->domain(), 'created_at' => $campaign->createdAt(), 'updated_at' => $campaign->updatedAt()]; return $this->saveEntity($campaign, $data); }