Created
September 10, 2009 04:53
-
-
Save cprieto/184315 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Subject(typeof(MembershipService), "Registering a user")] | |
public class when_member_data_is_totally_correct : Membership_service_subscription_context | |
{ | |
Because of = () => | |
suo.Register(signup); | |
It should_save_member_to_repository = () => | |
memberRepository.Verify(r => r.Add(Moq.It.Is<Member>(m => m.Username == "non.exists"))); | |
} | |
[Subject(typeof(MembershipService), "Registering a user")] | |
public class when_member_data_is_submited : Membership_service_subscription_context | |
{ | |
Because of = () => | |
suo.Register(signup); | |
It should_check_with_repository_if_user_already_exists = () => | |
memberRepository.Verify(r => r.GetByUsername(Moq.It.IsAny<string>())); | |
} | |
[Subject(typeof(MembershipService), "Registering a user")] | |
public class when_username_is_already_taken : Membership_service_subscription_context | |
{ | |
static Exception exception; | |
Because of = () => { | |
signup.Username = "username"; | |
exception = Catch.Exception(() => suo.Register(signup)); | |
}; | |
It should_throw_a_validation_exception = () => | |
exception.ShouldBeOfType<ValidationException>(); | |
} | |
public class Membership_service_subscription_context | |
{ | |
protected static Mock<IMemberRepository> memberRepository = new Mock<IMemberRepository>(); | |
protected static IMembershipService suo; | |
protected static SignUpForm signup; | |
protected static Member member; | |
Establish context = () => | |
{ | |
member = new Member("username", "first name", "last name", string.Empty, DateTime.Now, Gender.Male, MemberType.Student); | |
signup = new SignUpForm | |
{ | |
Username = "non.exists", | |
FirstName = "first name", | |
LastName = "last name", | |
Email = "email@mail.com", | |
Password = "password", | |
RepeatPassword = "password", | |
BirthDate = DateTime.Now, | |
SchoolId = 1 | |
}; | |
memberRepository.Setup(r => r.GetByUsername(member.Username)).Returns(member); | |
memberRepository.Setup(r => r.GetByUsername("non.exist")).Returns(() => null); | |
suo = new MembershipService(memberRepository.Object); | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment