public function testDeletesOpauthIdentityOnDelete() { $member = new Member(array('Email' => '*****@*****.**')); $member->write(); $identity = new OpauthIdentity(); $identity->write(); $member->OpauthIdentities()->add($identity); $member->delete(); $this->assertEquals(0, $member->OpauthIdentities()->Count()); }
public function testForgotPasswordVeto() { Config::inst()->update('OpauthMemberLoginFormExtension', 'allow_password_reset', false); $memberWithoutPassword = new Member(array('Email' => '*****@*****.**')); $memberWithoutPassword->write(); $memberWithPassword = new Member(array('Email' => '*****@*****.**', 'Password' => 'test')); $memberWithPassword->write(); $memberWithIdentity = new Member(array('Email' => '*****@*****.**')); $memberWithIdentity->write(); $identity = new OpauthIdentity(array('MemberID' => $memberWithIdentity->ID, 'Provider' => 'Google')); $identity->write(); $form = new Form(new Controller(), 'Form', new FieldList(), new FieldList()); $ext = new OpauthMemberLoginFormExtension(); $ext->setOwner($form); $this->assertNull($ext->forgotPassword($memberWithoutPassword)); $this->assertNull(Session::get("FormInfo.Form_Form.formError.message")); $this->assertNull($ext->forgotPassword($memberWithPassword)); $this->assertNull(Session::get("FormInfo.Form_Form.formError.message")); $this->assertFalse($ext->forgotPassword($memberWithIdentity)); $this->assertContains('Google', Session::get("FormInfo.Form_Form.formError.message")); }