Ejemplo n.º 1
0
        public void AddUserTest()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);

            var user = new User
            {
                Id        = new Guid("ba17ad46-baac-487e-8cc1-97ebd7551b13"),
                FirstName = "Freddie",
                LastName  = "Tester",
                Email     = "TheEmail",
            };

            //Act
            TestContext.Users.Add(user);
            TestContext.SaveChanges();


            //Assert
            var retrievedUser = TestContext.Users.First(entity => entity.Id == user.Id);

            Assert.Equal(user.Email, retrievedUser.Email);
            Assert.Equal(user.FirstName, retrievedUser.FirstName);
            Assert.Equal(user.LastName, retrievedUser.LastName);

            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 2
0
        public void AddUserLog()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);

            var userLog = new UserLog
            {
                Id     = new Guid(),
                Action = Operation.TeamJoin,
                Team   = new Team
                {
                    Id   = new Guid(),
                    Name = "TheTeam"
                },
                Timestamp = DateTime.Now,
                User      = new User
                {
                    Id       = new Guid(),
                    Nickname = "Frank"
                }
            };

            //Act
            TestContext.UserLogs.Add(userLog);
            TestContext.SaveChanges();

            //Assert
            var retrievedLog = TestContext.UserLogs.First(entity => entity.Id == userLog.Id);

            Assert.Equal(Operation.TeamJoin, retrievedLog.Action);
            Assert.Equal("Frank", retrievedLog.User.Nickname);

            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 3
0
        public void AddComment()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);

            var comment = new Comment
            {
                Id     = new Guid(),
                Author = new User(),
                Text   = "Some weird comment",
                Thread = new Thread
                {
                    Id    = new Guid(),
                    Title = "The Comment Test",
                    Team  = new Team()
                }
            };

            //Act
            TestContext.Comments.Add(comment);
            TestContext.SaveChanges();

            //Assert
            var retrievedComment = TestContext.Comments.First(entity => entity.Id == comment.Id);

            Assert.Equal(comment.Id, retrievedComment.Id);
            Assert.Equal("The Comment Test", retrievedComment.Thread.Title);

            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 4
0
        public void UpdateDataInUser()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);
            var user = new User
            {
                Id        = new Guid(),
                FirstName = "Freddie",
                LastName  = "Tester",
                Email     = "TheEmail",
            };

            //Act
            TestContext.Users.Add(user);
            TestContext.SaveChanges();
            user.Email    = "NewMail";
            user.Nickname = "Nickname";
            TestContext.Users.Update(user);
            TestContext.SaveChanges();
            //Verify
            var retrievedUser = TestContext.Users.Find(user.Id);

            Assert.Equal(user.LastName, retrievedUser.LastName);
            Assert.Equal(user.Nickname, retrievedUser.Nickname);
            Assert.Equal(user.Email, retrievedUser.Email);
            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 5
0
        public void AddUserWithSameIdTwice()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);
            var user = new User
            {
                Id        = new Guid(),
                FirstName = "Freddie",
                LastName  = "Tester",
                Email     = "TheEmail",
            };

            //Act

            TestContext.Users.Update(user);
            TestContext.SaveChanges();
            user.Email = "NewMail";
            TestContext.Users.Update(user);
            TestContext.SaveChanges();

            //Verify
            var retrievedUser = TestContext.Users.First(entity => entity.Id == user.Id);

            Assert.Equal(user.Id, retrievedUser.Id);
            Assert.Equal(user.Email, retrievedUser.Email);
            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 6
0
 private static void ClearDatabase(ProjectManagementAppDbContext dbContext)
 {
     dbContext.RemoveRange(dbContext.Threads);
     dbContext.RemoveRange(dbContext.Comments);
     dbContext.RemoveRange(dbContext.Teams);
     dbContext.RemoveRange(dbContext.Users);
     dbContext.RemoveRange(dbContext.UserLogs);
     dbContext.RemoveRange(dbContext.Memberships);
     dbContext.SaveChanges();
 }
Ejemplo n.º 7
0
        public void AddTeam()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);
            var team = new Team
            {
                Id      = new Guid(),
                Name    = "testerTeam",
                Members =
                {
                    new Membership
                    {
                        Position = Position.Leader,
                        User     = new User()
                        {
                            FirstName = "John",
                            LastName  = "Tester",
                            Email     = "*****@*****.**",
                            Nickname  = "Johny",
                            Password  = "******"
                        }
                    },
                    new Membership
                    {
                        Position = Position.Leader,
                        User     = new User()
                        {
                            FirstName = "anotherJohn",
                            LastName  = "anotherTester",
                            Email     = "*****@*****.**",
                            Nickname  = "anotherJohny",
                            Password  = "******"
                        }
                    }
                }
            };

            //Act
            TestContext.Teams.Add(team);
            TestContext.SaveChanges();
            //Verify

            var retrievedTeam = TestContext.Teams.Find(team.Id);

            Assert.Equal(team.Id, retrievedTeam.Id);
            var retrievedUser = TestContext.Users.First();

            Assert.True("John" == retrievedUser.FirstName || "anotherJohn" == retrievedUser.FirstName);

            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 8
0
        public void AddUserWithTeamTest()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);
            var team = new Team
            {
                Id   = new Guid(),
                Name = "TestingTeam"
            };
            var user = new User
            {
                Id        = new Guid(),
                FirstName = "Freddie",
                LastName  = "Tester",
                Email     = "TheEmail",
            };
            var membership = new Membership
            {
                Id       = new Guid(),
                Position = Position.Leader,
                Team     = team,
                User     = user
            };

            //Act
            TestContext.Memberships.Add(membership);
            TestContext.SaveChanges();

            //Assert
            var retrievedMembership = TestContext.Memberships.First(entity => entity.Id == membership.Id);

            Assert.Equal(membership.Position, retrievedMembership.Position);
            Assert.Equal(membership.Team.Id, retrievedMembership.Team.Id);

            var retrievedTeam = TestContext.Teams.First(entity => entity.Id == team.Id);

            Assert.Equal(team.Id, retrievedTeam.Id);

            var retrievedUser = TestContext.Users.First(entity => entity.Id == user.Id);

            Assert.Equal(user.Id, retrievedUser.Id);

            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 9
0
        public void AddThread()
        {
            //Setup
            TestContext = new ProjectManagementAppDbContext(ContextOptions);
            var thread = new Thread
            {
                Id   = new Guid(),
                Team = new Team()
                {
                    Id   = new Guid(),
                    Name = "TestingTeam"
                },
                Title    = "MyCoolTestingThread",
                Comments =
                {
                    new Comment
                    {
                        Id     = new Guid(),
                        Author = new User
                        {
                            Nickname = "yourNick10"
                        },
                        Text = "CoolText"
                    }
                }
            };

            //Act
            TestContext.Threads.Add(thread);
            TestContext.SaveChanges();
            //Verify
            var retrievedThread = TestContext.Threads.Find(thread.Id);

            Assert.Equal(thread.Id, retrievedThread.Id);
            Assert.Equal(thread.Title, thread.Title);
            var retrievedComment = TestContext.Comments.First();

            Assert.Equal(thread.Id, retrievedComment.Thread.Id);
            //Teardown
            ClearDatabase(TestContext);
        }
Ejemplo n.º 10
0
        private static void SeedData(ProjectManagementAppDbContext dbContext)
        {
            var johnUser = new User
            {
                Id        = new Guid("5abdfee1-c970-4afd-aff8-aa3cfef8b1ac"),
                Email     = "*****@*****.**",
                FirstName = "John",
                LastName  = "TheUser",
                Nickname  = "Johny",
                Password  = "******"
            };

            dbContext.Users.Add(johnUser);

            var floydUser = new User
            {
                Id        = new Guid("cb181669-4e02-449f-bf02-ab6020dfecb4"),
                Email     = "*****@*****.**",
                FirstName = "Floyd",
                LastName  = "Mayweather",
                Nickname  = "FM Jr",
                Password  = "******"
            };

            dbContext.Users.Add(floydUser);

            var charlieUser = new User
            {
                Id        = new Guid("2711f535-3566-446c-9ac6-58261efe3fa3"),
                Email     = "*****@*****.**",
                FirstName = "Charlie",
                LastName  = "Chaplin",
                Nickname  = "Chch",
                Password  = "******"
            };

            dbContext.Users.Add(charlieUser);

            var fjTeam = new Team
            {
                Id   = new Guid("012ac89a-94e3-4bc2-94b5-c9b05fc83375"),
                Name = "Team Floyd"
            };

            var membership1 = new Membership
            {
                Id       = new Guid("b417ad46-baac-487e-8cc1-97ebd7551b13"),
                User     = floydUser,
                Position = Position.Leader,
                Team     = fjTeam
            };

            var membership2 = new Membership
            {
                Id   = new Guid("aa17ad46-baac-487e-8cc1-97ebd7551b13"),
                User = johnUser,
                Team = fjTeam
            };

            fjTeam.Members.Add(membership1);
            fjTeam.Members.Add(membership2);
            dbContext.Memberships.Add(membership1);
            dbContext.Memberships.Add(membership2);
            dbContext.Teams.Add(fjTeam);

            var chTeam = new Team
            {
                Id   = new Guid("b417ad46-b94c-487e-8cc1-97ebd7551b13"),
                Name = "Team Charlie"
            };

            var membership3 = new Membership
            {
                Id       = new Guid("c417ad46-baac-487e-8cc1-97ebd7551b13"),
                User     = charlieUser,
                Position = Position.Leader,
                Team     = chTeam
            };

            var membership4 = new Membership
            {
                Id   = new Guid("ba17ad46-baac-487e-8cc1-97ebd7551b13"),
                User = floydUser,
                Team = chTeam
            };

            chTeam.Members.Add(membership3);
            chTeam.Members.Add(membership4);
            dbContext.Memberships.Add(membership3);
            dbContext.Memberships.Add(membership4);
            dbContext.Teams.Add(chTeam);

            var johnUserLog = new UserLog
            {
                Id        = new Guid("12345678-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.TeamJoin,
                User      = johnUser,
                Timestamp = new DateTime(1998, 09, 8),
                Team      = fjTeam
            };

            dbContext.UserLogs.Add(johnUserLog);

            var floydUserLog = new UserLog
            {
                Id        = new Guid("abcd4561-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.TeamJoin,
                User      = floydUser,
                Timestamp = new DateTime(1995, 09, 8),
                Team      = fjTeam
            };

            dbContext.UserLogs.Add(floydUserLog);

            var floydUserLog2 = new UserLog
            {
                Id        = new Guid("12cd4561-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.TeamJoin,
                User      = floydUser,
                Timestamp = new DateTime(2005, 09, 8),
                Team      = chTeam
            };

            dbContext.UserLogs.Add(floydUserLog2);

            var charlieUserLog = new UserLog
            {
                Id        = new Guid("ab554561-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.TeamJoin,
                User      = charlieUser,
                Timestamp = new DateTime(2005, 09, 10),
                Team      = chTeam
            };

            dbContext.UserLogs.Add(charlieUserLog);

            var fiThread = new Thread
            {
                Id    = new Guid("a9dcad46-b94c-487e-8cc1-97ebd7551b13"),
                Team  = chTeam,
                Title = "Test Thread"
            };

            var chComment = new Comment
            {
                Id        = new Guid("a98cad46-b94c-487e-8cc1-97ebd7551b13"),
                Author    = charlieUser,
                Thread    = fiThread,
                Timestamp = new DateTime(2005, 09, 10),
                Text      = "First comment test"
            };

            var flComment = new Comment
            {
                Id        = new Guid("a98c7d46-b94c-487e-8cc1-97ebd7551b13"),
                Author    = floydUser,
                Thread    = fiThread,
                Timestamp = new DateTime(2015, 09, 10),
                Text      = "Everything seems to be working fine :)"
            };

            fiThread.Comments.Add(chComment);
            fiThread.Comments.Add(flComment);
            dbContext.Threads.Add(fiThread);
            dbContext.Comments.Add(chComment);
            dbContext.Comments.Add(flComment);

            var floydUserLog3 = new UserLog
            {
                Id        = new Guid("13cd4561-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.CommentCreate,
                User      = floydUser,
                Timestamp = new DateTime(2005, 09, 8),
                Comment   = flComment
            };

            dbContext.UserLogs.Add(floydUserLog3);

            var charlieUserLog2 = new UserLog
            {
                Id        = new Guid("9b554561-b94c-487e-8cc1-97ebd7551b13"),
                Action    = Operation.CommentCreate,
                User      = charlieUser,
                Timestamp = new DateTime(2005, 09, 10),
                Comment   = chComment
            };

            dbContext.UserLogs.Add(charlieUserLog2);

            dbContext.SaveChanges();
        }