public void GetMemberByLoginTest()
        {
            //Arrange
            var repo    = new FakeMemberRepository();
            var member1 = new Member()
            {
                LoginName = "Spooky", Password = "******", FirstName = "Fox", LastName = "Mulder", Email = "*****@*****.**"
            };

            repo.AddMember(member1);
            var member2 = new Member()
            {
                LoginName = "Superman", Password = "******", FirstName = "Clark", LastName = "Kent", Email = "*****@*****.**"
            };

            repo.AddMember(member2);
            //Act
            repo.GetMemberbyLoginName("Superman");
            repo.GetMemberbyLoginName("Spooky");
            //Assert
            Assert.AreSame(member1, repo.Members[0]);
            Assert.AreSame(member2, repo.Members[1]);
            Assert.AreEqual(member1, repo.Members[0]);
            Assert.AreEqual(member2, repo.Members[1]);
            Assert.AreNotEqual(member1, repo.Members[1]);
            Assert.AreNotEqual(member2, repo.Members[0]);
        }
Ejemplo n.º 2
0
        public void CanGetMemberByEmail()
        {
            //Arrange
            FakeMemberRepository repo       = new FakeMemberRepository();
            MemberController     controller = new MemberController(repo);
            string testEmail = "*****@*****.**";

            //Act
            Member member = controller.MemberByEmail(testEmail).ViewData.Model as Member;

            //Assert
            Assert.Equal(repo.GetMemberByEmail(testEmail).Email, member.Email);
            Assert.Equal(repo.GetMemberByEmail(testEmail).Name, member.Name);
        }
Ejemplo n.º 3
0
 public MessageControllerTest(ITestOutputHelper output)
 {
     this.output = output;
     lookupRepo = new FakeLookupRepository();
     logger = new DivineLogger<FakeDataStore>(new FakeDataStore());
     cache = new MemoryCache(new MemoryCacheOptions());
     msgService = new FakeCommunicationService();
     var mockContext = new MockContext<IRepository<Member>>();
     membersRepo = new FakeMemberRepository(mockContext);
     var repositories = new DivineRepositories(attendanceRepo, lookupRepo, membersRepo, msgRepo);
     //divineBot = new TextDivineBot(repositories, msgService);
     mockContext.Arrange(x => (x.GetAllAsync())).Returns(Task.FromResult(membersList.AsQueryable()));
     messageCtrl = new MessageController(repositories, msgService, cache, logger, null);
 }
Ejemplo n.º 4
0
        public void CanGetMembers()
        {
            //Arrange
            FakeMemberRepository repo       = new FakeMemberRepository();
            MemberController     controller = new MemberController(repo);

            //Act
            List <Member> members = controller.Index().ViewData.Model as List <Member>;

            //Assert
            Assert.Equal(repo.GetAllMembers()[0].Name, members[0].Name);
            Assert.Equal(repo.GetAllMembers()[0].Email, members[0].Email);
            Assert.Equal(repo.GetAllMembers()[1].Name, members[1].Name);
            Assert.Equal(repo.GetAllMembers()[1].Email, members[1].Email);
        }
Ejemplo n.º 5
0
        public async Task GetMemberById_WithZeroAndNegativeId_ReturnsError(int id)
        {
            //Arrange
            var mockContext = new MockContext<IRepository<Member>>();
            membersRepo = new FakeMemberRepository(mockContext);
            var controller = new MembersController(new DivineRepositories(null, lookupRepo, membersRepo, null), logger, null, null);

            //Act
            var result = await controller.Get(id);

            //Assert
            mockContext.Assert(m => m.GetByIdAsync(The<int>.IsAnyValue), Invoked.Never);
            Assert.NotNull(result);
            Assert.Equal(result.StatusCode, (int)HttpStatusCode.BadRequest);
            Assert.IsType<string>(result.Value);
            Assert.Contains("error", result.Value.ToString(), StringComparison.OrdinalIgnoreCase);
        }
Ejemplo n.º 6
0
        public async Task Get_ReturnsBadRequest()
        {
            //Arrange
            var mockContext = new MockContext<IRepository<Member>>();
            membersRepo = new FakeMemberRepository(mockContext);
            var controller = new MembersController(new DivineRepositories(null, lookupRepo, membersRepo, null), logger, null, null);
            mockContext.Arrange(x => (x.GetAllAsync())).Throws(() => new NullReferenceException("null Data"));

            //Act
            var result = await controller.Get();

            //Assert
            Assert.NotNull(result);
            Assert.Equal(result.StatusCode , (int) HttpStatusCode.BadRequest);
            Assert.IsType<string>(result.Value);
            Assert.Contains("error",result.Value.ToString(),  StringComparison.OrdinalIgnoreCase);
        }
        public void AddMemberTest()
        {
            //Arrange
            var repo    = new FakeMemberRepository();
            var member1 = new Member();
            var member2 = new Member();

            //ACT
            repo.AddMember(member1);
            repo.AddMember(member2);
            //Assert
            Assert.AreSame(member1, repo.Members[0]);
            Assert.AreSame(member2, repo.Members[1]);
            Assert.AreEqual(member1, repo.Members[0]);
            Assert.AreEqual(member2, repo.Members[1]);
            Assert.AreNotEqual(member1, repo.Members[1]);
            Assert.AreNotEqual(member2, repo.Members[0]);
        }
Ejemplo n.º 8
0
        public async Task Get_ReturnsNoException()
        {
            //Arrange
            var mockContext = new MockContext<IRepository<Member>>();
            membersRepo = new FakeMemberRepository(mockContext);
            var controller = new MembersController(new DivineRepositories(null, lookupRepo, membersRepo, null),logger, null, null);
            var data = new List<Member> { new Member { Id = 1 } }.AsQueryable();
            mockContext.Arrange(x => (x.GetAllAsync())).Returns(Task.FromResult(data));

            //ACT
            var result = await controller.Get();

            //Assert
            Assert.NotNull(result);
            Assert.IsType<List<Member>>(result.Value);
            Assert.Equal(data.Count(), ((List<Member>)result.Value).Count());


        }
Ejemplo n.º 9
0
        public async Task SearchMember_WithNullParameter_ReturnsError()
        {
            //Arrange
            var mockContext = new MockContext<IRepository<Member>>();
            membersRepo = new FakeMemberRepository(mockContext);
            var controller = new MembersController(new DivineRepositories(null, lookupRepo, membersRepo, null), logger, null, null);
            var searchData = default(SearchMember); //null

            //Act
            var result = await controller.SearchMembers(searchData);

            //Assert
            mockContext.Assert(m =>  m.GetAllAsync(), Invoked.Never);
            Assert.NotNull(result);
            Assert.Equal(result.StatusCode, (int)HttpStatusCode.BadRequest);
            Assert.IsType<string>(result.Value);
            Assert.Contains("error", result.Value.ToString(), StringComparison.OrdinalIgnoreCase);

        }
Ejemplo n.º 10
0
        public async Task GetMemberById_WithValidPoisitiveId_ReturnsSuccess()
        {
            //Arrange
            var mockContext = new MockContext<IRepository<Member>>();
            membersRepo = new FakeMemberRepository(mockContext);
            var controller = new MembersController(new DivineRepositories(null, lookupRepo, membersRepo, null), logger, null, null);
            mockContext.Arrange(m => m.GetByIdAsync(The<int>.IsAnyValue)).Returns(Task.FromResult(new Member { Id=1 }));
            var id = 1;

            //Act
            var result = await controller.Get(id);

            //Assert
            mockContext.Assert(m => m.GetByIdAsync(id), Invoked.Once);
            Assert.NotNull(result);
            Assert.IsType<Member>(result.Value);
            Assert.Equal(((Member)result.Value).Id, id);
        }