Guest User

Untitled

a guest
Mar 12th, 2018
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. using System;
  2. using Moq;
  3. using Rioshu.Educa;
  4. using Rioshu.Educa.Data;
  5. using Rioshu.Educa.Models;
  6. using Rioshu.Educa.Services;
  7. using Xunit;
  8. using Xunit.Extensions;
  9. using Machine.Specifications;
  10. using It=Machine.Specifications.It;
  11.  
  12. namespace Membership.App.Facts
  13. {
  14. [Subject("Membership Service")]
  15. public class when_member_data_is_totally_correct
  16. {
  17. Because of = () => { };
  18.  
  19. It must_check_username_available_in_repository = () => { };
  20. It must_save_member_to_repository = () => { };
  21. }
  22.  
  23. [Subject("Membership Service")]
  24. public class when_member_data_is_incorrect
  25. {
  26. Because of = () => { };
  27.  
  28. It must_throw_a_validation_exception = () => {
  29.  
  30. };
  31. It must_not_save_member_to_repository = () => { };
  32. }
  33.  
  34. [Subject("Membership Service")]
  35. public class when_username_already_exists : Membership_service_subscription_context
  36. {
  37. Because of = () => { };
  38.  
  39. It must_throw_a_validation_exception = () => {
  40. signup.Username = "username";
  41. Assert.Throws<Exception>(() => suo.Register(signup));
  42. };
  43. }
  44.  
  45. [Subject("Membership Service")]
  46. public class when_member_is_going_to_be_registered : Membership_service_subscription_context
  47. {
  48. Because of = () => {
  49. suo.Register(signup);
  50. };
  51.  
  52. It must_check_if_username_is_already_taken = () => {
  53. memberRepository.Verify(r => r.GetByUsername(Moq.It.IsAny<string>()));
  54. };
  55. }
  56.  
  57. public class Membership_service_subscription_context
  58. {
  59. protected static Mock<IMemberRepository> memberRepository;
  60. protected static IMembershipService suo;
  61. protected static SignUpForm signup;
  62.  
  63. static Member member;
  64.  
  65. Establish context = () =>
  66. {
  67. member = new Member("username", "first name", "last name", string.Empty, DateTime.Now, Gender.Male, MemberType.Student);
  68. signup = new SignUpForm
  69. {
  70. Username = "non.exists",
  71. FirstName = "first name",
  72. LastName = "last name",
  73. Email = "email@mail.com",
  74. Password = "password",
  75. RepeatPassword = "password",
  76. BirthDate = DateTime.Now,
  77. SchoolId = 1
  78. };
  79.  
  80. memberRepository.Setup(r => r.GetByUsername(member.Username)).Returns(member);
  81. memberRepository.Setup(r => r.GetByUsername("non.exist")).Returns(() => null);
  82.  
  83. suo = new MembershipService();
  84. };
  85. }
  86. }
Add Comment
Please, Sign In to add comment