/** * @depends testCreateAndGetCampaignItemActivityById */ public function testRequiredAttributes() { $campaignItemActivity = new CampaignItemActivity(); $this->assertFalse($campaignItemActivity->save()); $errors = $campaignItemActivity->getErrors(); $this->assertNotEmpty($errors); $this->assertCount(2, $errors); $this->assertArrayHasKey('type', $errors); $this->assertEquals('Type cannot be blank.', $errors['type'][0]); $this->assertArrayHasKey('quantity', $errors); $this->assertEquals('Quantity cannot be blank.', $errors['quantity'][0]); $campaignItemActivity->type = CampaignItemActivity::TYPE_CLICK; $campaignItemActivity->quantity = 5; $emailMessageUrl = new EmailMessageUrl(); $emailMessageUrl->url = 'http://www.example.com'; $campaignItemActivity->emailMessageUrl = $emailMessageUrl; $campaignItemActivity->latestSourceIP = '131.113.112.121'; $this->assertTrue($campaignItemActivity->save()); $id = $campaignItemActivity->id; unset($campaignItemActivity); $campaignItemActivity = CampaignItemActivity::getById($id); $this->assertEquals(CampaignItemActivity::TYPE_CLICK, $campaignItemActivity->type); $this->assertEquals(5, $campaignItemActivity->quantity); $this->assertEquals('http://www.example.com', $campaignItemActivity->emailMessageUrl->url); $this->assertEquals('131.113.112.121', $campaignItemActivity->latestSourceIP); }