Guest User

Untitled

a guest
Mar 12th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. [Subject(typeof(MembershipService), "Registering a user")]
  2. public class when_member_data_is_totally_correct : Membership_service_subscription_context
  3. {
  4. Because of = () =>
  5. suo.Register(signup);
  6.  
  7. It should_save_member_to_repository = () =>
  8. memberRepository.Verify(r => r.Add(Moq.It.Is<Member>(m => m.Username == "non.exists")));
  9. }
  10.  
  11. [Subject(typeof(MembershipService), "Registering a user")]
  12. public class when_member_data_is_submited : Membership_service_subscription_context
  13. {
  14. Because of = () =>
  15. suo.Register(signup);
  16.  
  17. It should_check_with_repository_if_user_already_exists = () =>
  18. memberRepository.Verify(r => r.GetByUsername(Moq.It.IsAny<string>()));
  19. }
  20.  
  21. [Subject(typeof(MembershipService), "Registering a user")]
  22. public class when_username_is_already_taken : Membership_service_subscription_context
  23. {
  24. static Exception exception;
  25.  
  26. Because of = () => {
  27. signup.Username = "username";
  28. exception = Catch.Exception(() => suo.Register(signup));
  29. };
  30.  
  31. It should_throw_a_validation_exception = () =>
  32. exception.ShouldBeOfType<ValidationException>();
  33. }
  34.  
  35. public class Membership_service_subscription_context
  36. {
  37. protected static Mock<IMemberRepository> memberRepository = new Mock<IMemberRepository>();
  38. protected static IMembershipService suo;
  39. protected static SignUpForm signup;
  40.  
  41. protected static Member member;
  42.  
  43. Establish context = () =>
  44. {
  45. member = new Member("username", "first name", "last name", string.Empty, DateTime.Now, Gender.Male, MemberType.Student);
  46. signup = new SignUpForm
  47. {
  48. Username = "non.exists",
  49. FirstName = "first name",
  50. LastName = "last name",
  51. Email = "email@mail.com",
  52. Password = "password",
  53. RepeatPassword = "password",
  54. BirthDate = DateTime.Now,
  55. SchoolId = 1
  56. };
  57.  
  58. memberRepository.Setup(r => r.GetByUsername(member.Username)).Returns(member);
  59. memberRepository.Setup(r => r.GetByUsername("non.exist")).Returns(() => null);
  60.  
  61. suo = new MembershipService(memberRepository.Object);
  62. };
  63. }
Add Comment
Please, Sign In to add comment