RhinoMocks

[Prev] Thread [Next]  |  [Prev] Date [Next]

[RhinoMocks] Re: Where can I download the source code from the tutorial? chobo2 Wed Jun 24 00:00:35 2009

Thanks both it is making more sense. I actually found that I could
just Wrap the Membership Provider around and I don't even need to make
a interface for it. However I do need one for FormsAuthentication.

I am trying to test now RedirectFromLoginPage but I can't get it work.
Like I know you should only test the stuff your wrote and thats what I
am trying to do. I just want to see if it makes it to that part of my
login and to check that easily it is to see the use gets send back to
the Home page.

Yet it seems the RedirectFromLoginPage happens after it goes back to
the view so I am not sure how to test this.

On Jun 22, 1:19 pm, Tim Barcz <[EMAIL PROTECTED]> wrote:
> In this case I'd wrap the framework's membership provider behind an
> interface, for example IUserService.
>
> public interface IUserService
> {
>     bool ValidateUser(string username, string password);
>
> }
>
> public class UserService : IUserService
> {
>     public bool ValidateUser(string username, string password)
>     {
>         return Membership.ValidateUser(username, password);
>     }
>
> }
>
> Any place you'd use membership service, instead have a reference to
> IUserService and make calls on it instead.  This method allows you to
> provide a fake value (what we refer to mock or stub) in any code that would
> need to use Membership services.
>
> Does that help?
>
>
>
> On Sun, Jun 21, 2009 at 10:50 PM, chobo2 <[EMAIL PROTECTED]> wrote:
>
> > Hmm
>
> > Ok I will try to do a couple tests by hand to start off with I guess
> > to just a get a feel for it. I still don't get how to do them though.
>
> > Can someone walk me through like step by step how to test that section
> > of my code?
>
> > This is the verifyUser method from the authenticate class
>
> >   public bool VerifyUser(string userName, string password)
> >        {
> >            bool valid = Membership.ValidateUser(userName, password);
> >            return valid;
> >        }
>
> > It really does not need to be tested. Otherwise that basically is all
> > my code.
>
> > On Jun 22, 9:12 am, David Tchepak <[EMAIL PROTECTED]> wrote:
> > > On Sun, Jun 21, 2009 at 11:16 PM, chobo2<[EMAIL PROTECTED]> wrote:
> > > >...
> > > > So I tested my validation through unit tests now I am at this part
>
> > > >  bool valid = authenticate.VerifyUser(loginValidation.UserName,
> > > > loginValidation.Password);
> > > >  if (valid == false)
>
> > > > So how would I make a mockup that would make sure that valid would be
> > > > true?
>
> > > You'd need to be able to replace the authenticate object with a mock
> > > object (well, in this case it would technical be a stub, but let's not
> > > go into that for now :)). So somewhere in your test code:
>
> > > authenticate = MockRepository.GenerateMock<IAuthentication>();
> > > //Replace IAuthentication with whatever the actual class/interface is
> > > authenticate
> > >   .Stub( auth => auth.VerifyUser(Arg<string>.Is.Anything,
> > > Arg<string>.Is.Anything))
> > >   .Return(true);
>
> > > Then when you call your Login() method from your unit test,
> > > authenticate will return the value you are expecting.
>
> > > You can also hand-code your mock:
>
> > > class AlwaysVerifiedAuth : IAuthentication {
> > >   public bool VerifyUser(String username, String password) { return true;
> > }
>
> > > }
>
> > > I seem to remember Stephen Walther (http://stephenwalther.com/blog/)
> > > having a good series on testing ASP.NET MVC, but can't find the posts
> > > at the moment.
>
> > > Regards,
> > > David
>
> --
> Tim Barcz
> ASPInsiderhttp://timbarcz.devlicio.ushttp://www.twitter.com/timbarcz
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/RhinoMocks?hl=en
-~----------~----~----~----~------~----~------~--~---