public function testEmailIsSentOnContact() { /** @var ContactForm $model */ $this->model = $this->getMockBuilder('app\\models\\ContactForm')->setMethods(['validate'])->getMock(); $this->model->expects($this->once())->method('validate')->will($this->returnValue(true)); $this->model->attributes = ['name' => 'Tester', 'email' => '*****@*****.**', 'subject' => 'very important letter subject', 'body' => 'body of current message']; expect_that($this->model->contact('*****@*****.**')); // using Yii2 module actions to check email was sent $this->tester->seeEmailIsSent(); $emailMessage = $this->tester->grabLastSentEmail(); expect('valid email is sent', $emailMessage)->isInstanceOf('yii\\mail\\MessageInterface'); expect($emailMessage->getTo())->hasKey('*****@*****.**'); expect($emailMessage->getFrom())->hasKey('*****@*****.**'); expect($emailMessage->getSubject())->equals('very important letter subject'); expect($emailMessage->toString())->contains('body of current message'); }