public void Put_Method_Returns_BadRequest_When_Ids_Do_Not_Match()
        {
            // Arrange
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var userProfileToUpdate = new UserProfile()
            {
                Name           = "Updated",
                Id             = testUserProfileId,
                ImageUrl       = "Updated",
                FirebaseUserId = "Updated",
                Email          = "Updated",
                Bio            = "Updated",
                DateCreated    = DateTime.Today
            };
            var someOtherUserProfileId = testUserProfileId + 1; // make sure they aren't the same

            // Act
            var result = controller.Put(someOtherUserProfileId, userProfileToUpdate);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
Exemple #2
0
        public void Put_Method_Updates_User()
        {
            var testUserId = 999;
            var users      = CreateTestUsers(5);

            users[0].Id = testUserId;

            var repo       = new InMemoryUserProfileRepository(users);
            var controller = new UserProfileController(repo);

            var userToUpdate = new UserProfile()
            {
                Id          = testUserId,
                Name        = $"Updated",
                Email       = $"*****@*****.**",
                ImageUrl    = "http://post.image.url",
                DateCreated = DateTime.Today,
                Bio         = $"Bob really hates cheese",
            };

            controller.Put(testUserId, userToUpdate);

            var userFromDb = repo.InternalData.FirstOrDefault(user => user.Id == testUserId);

            Assert.NotNull(userFromDb);
            Assert.Equal(userToUpdate.Name, userFromDb.Name);
            Assert.Equal(userToUpdate.Email, userFromDb.Email);
            Assert.Equal(userToUpdate.ImageUrl, userFromDb.ImageUrl);
            Assert.Equal(userToUpdate.DateCreated, userFromDb.DateCreated);
            Assert.Equal(userToUpdate.Bio, userFromDb.Bio);
        }
        public void Put_Method_Returns_Bad_Request_When_Ids_Do_Not_Match()
        {
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId;

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var userToUpdate = new UserProfile()
            {
                Id             = testUserProfileId,
                Name           = "Name",
                Email          = "*****@*****.**",
                FirebaseUserId = "abcdefghijklmnopqrstuvwxyzaa",
                ImageUrl       = "http://user.image.com",
                Bio            = "I am the very model of a modern major general.",
                DateCreated    = DateTime.Today
            };
            var someOtherUserProfileId = testUserProfileId + 1;

            var result = controller.Put(someOtherUserProfileId, userToUpdate);

            Assert.IsType <BadRequestResult>(result);
        }
        public void Put_Method_Updates_A_Post()
        {
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId;

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var userToUpdate = new UserProfile()
            {
                Id             = testUserProfileId,
                Name           = "Name",
                Email          = "*****@*****.**",
                FirebaseUserId = "abcdefghijklmnopqrstuvwxyzaa",
                ImageUrl       = "http://user.image.com",
                Bio            = "I am the very model of a modern major general.",
                DateCreated    = DateTime.Today
            };

            controller.Put(testUserProfileId, userToUpdate);

            var userFromDb = repo.InternalData.FirstOrDefault(u => u.Id == testUserProfileId);

            Assert.NotNull(userFromDb);

            Assert.Equal(userToUpdate.Name, userFromDb.Name);
            Assert.Equal(userToUpdate.Email, userFromDb.Email);
            Assert.Equal(userToUpdate.FirebaseUserId, userFromDb.FirebaseUserId);
            Assert.Equal(userToUpdate.ImageUrl, userFromDb.ImageUrl);
            Assert.Equal(userToUpdate.Bio, userFromDb.Bio);
            Assert.Equal(userToUpdate.DateCreated, userFromDb.DateCreated);
        }
        public void Put_Method_Updates_A_User()
        {
            //Arrange
            var testUserId = 99;
            var users      = CreateTestUsers(5);

            users[0].Id = testUserId; // Make sure we know the Id of one of the users

            var repo       = new InMemoryUserProfileRepository(users);
            var controller = new UserProfileController(repo);

            var userToUpdate = new UserProfile()
            {
                Id          = testUserId,
                Name        = "Updated!",
                Email       = "Updated!",
                Bio         = "Updated",
                DateCreated = DateTime.Today,
                ImageUrl    = "http://user.image.url",
            };

            //Act
            var result = controller.Put(testUserId, userToUpdate);

            //Assert
            var userFromDb = repo.InternalData.FirstOrDefault(u => u.Id == testUserId);

            Assert.NotNull(userFromDb);

            Assert.Equal(userToUpdate.Name, userFromDb.Name);
            Assert.Equal(userToUpdate.Email, userFromDb.Email);
            Assert.Equal(userToUpdate.Bio, userFromDb.Bio);
            Assert.Equal(userToUpdate.DateCreated, userFromDb.DateCreated);
            Assert.Equal(userToUpdate.ImageUrl, userFromDb.ImageUrl);
        }
        public void UserProfile_Method_Adds_A_New_UserProfile()
        {
            // Arrange
            var userProfileCount = 20;
            var userProfiles     = CreateTestUserProfiles(userProfileCount);

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            // Act
            var newUserProfile = new UserProfile()
            {
                Name           = "Name",
                ImageUrl       = "ImageUrl",
                FirebaseUserId = "FirebaseUserId",
                Email          = "Email",
                Bio            = "Bio",
                DateCreated    = DateTime.Today
            };

            controller.Register(newUserProfile);

            // Assert
            Assert.Equal(userProfileCount + 1, repo.InternalData.Count);
        }
        public void Get_By_Id_Returns_Not_Found_For_Invalid_Id()
        {
            var userProfiles = new List <UserProfile>();

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var result = controller.Get(1);

            Assert.IsType <NotFoundResult>(result);
        }
Exemple #8
0
        public void Post_Method_Adds_New_User()
        {
            var userCount = 10;
            var users     = CreateTestUsers(userCount);

            var repo       = new InMemoryUserProfileRepository(users);
            var controller = new UserProfileController(repo);

            controller.Post(CreateTestUsers(1)[0]);

            Assert.Equal(userCount + 1, repo.InternalData.Count);
        }
        public void Get_By_Id_Returns_NotFound_When_Given_Unknown_id()
        {
            // Arrange
            var userProfiles = new List <UserProfile>(); //no users
            var repo         = new InMemoryUserProfileRepository(userProfiles);
            var controller   = new UserProfileController(repo);

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

            //Assert
            Assert.IsType <NotFoundResult>(result);
        }
Exemple #10
0
        public void Delete_Method_Removes_User()
        {
            var testUserId = 999;
            var users      = CreateTestUsers(5);

            users[0].Id = testUserId;

            var repo       = new InMemoryUserProfileRepository(users);
            var controller = new UserProfileController(repo);

            controller.Delete(testUserId);

            Assert.Null(repo.InternalData.FirstOrDefault(u => u.Id == testUserId));
        }
        public void Get_Returns_All_UserProfiles()
        {
            var userProfileCount = 20;
            var userProfiles     = CreateTestUserProfiles(userProfileCount);

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var result = controller.Get();

            var okResult           = Assert.IsType <OkObjectResult>(result);
            var actualUserProfiles = Assert.IsType <List <UserProfile> >(okResult.Value);

            Assert.Equal(userProfileCount, actualUserProfiles.Count);
            Assert.Equal(userProfiles, actualUserProfiles);
        }
        public void Get_By_Id_Returns_Correct_UserProfile()
        {
            var testUserId   = 99;
            var userProfiles = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserId;

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var result = controller.Get(testUserId);

            var okResult          = Assert.IsType <OkObjectResult>(result);
            var actualUserProfile = Assert.IsType <UserProfile>(okResult.Value);

            Assert.Equal(testUserId, actualUserProfile.Id);
        }
        public void Delete_Method_Removes_A_UserProfile()
        {
            // Arrange
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId; // Make sure we know the Id of one of the userProfiles

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            // Act
            controller.Delete(testUserProfileId);

            // Assert
            var userProfileFromDb = repo.InternalData.FirstOrDefault(p => p.Id == testUserProfileId);

            Assert.Null(userProfileFromDb);
        }
        public void Get_By_Id_Returns_UserProfile_With_Given_Id()
        {
            // Arrange
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId; // Make sure we know the Id of one of the userProfiles

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

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

            // Assert
            var okResult          = Assert.IsType <OkObjectResult>(result);
            var actualUserProfile = Assert.IsType <UserProfile>(okResult.Value);

            Assert.Equal(testUserProfileId, actualUserProfile.Id);
        }
        public void Post_Method_Add_A_New_UserProfile()
        {
            var userProfileCount = 20;
            var userProfiles     = CreateTestUserProfiles(userProfileCount);

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var newUserProfile = new UserProfile()
            {
                Name           = "Name",
                Email          = "*****@*****.**",
                FirebaseUserId = "abcdefghijklmnopqrstuvwxyzaa",
                ImageUrl       = "http://user.image.com",
                Bio            = "I am the very model of a modern major general.",
                DateCreated    = DateTime.Today
            };

            controller.Post(newUserProfile);

            Assert.Equal(userProfileCount + 1, repo.InternalData.Count);
        }
        public void Post_Method_Adds_A_New_UserProfile()
        {
            // Arrange
            var userProfileCount = 20;
            var userProfiles     = CreateTestUserProfiles(userProfileCount);
            var repo             = new InMemoryUserProfileRepository(userProfiles);
            var controller       = new UserProfileController(repo);

            //Act
            var newUserProfile = new UserProfile()
            {
                Name        = $"User",
                Email       = $"*****@*****.**",
                Bio         = $"Bio",
                DateCreated = DateTime.Today,
                ImageUrl    = $"http://user.image.url/"
            };

            controller.Post(newUserProfile);

            // Assert
            Assert.Equal(userProfileCount + 1, repo.InternalData.Count);
        }
        public void Put_Method_Updates_A_UserProfile()
        {
            // Arrange
            var testUserProfileId = 99;
            var userProfiles      = CreateTestUserProfiles(5);

            userProfiles[0].Id = testUserProfileId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryUserProfileRepository(userProfiles);
            var controller = new UserProfileController(repo);

            var userProfileToUpdate = new UserProfile()
            {
                Name           = "Updated",
                Id             = testUserProfileId,
                ImageUrl       = "Updated",
                FirebaseUserId = "Updated",
                Email          = "Updated",
                Bio            = "Updated",
                DateCreated    = DateTime.Today
            };

            // Act
            controller.Put(testUserProfileId, userProfileToUpdate);

            // Assert
            var userProfileFromDb = repo.InternalData.FirstOrDefault(up => up.Id == testUserProfileId);

            Assert.NotNull(userProfileFromDb);

            Assert.Equal(userProfileToUpdate.Name, userProfileFromDb.Name);
            Assert.Equal(userProfileToUpdate.ImageUrl, userProfileFromDb.ImageUrl);
            Assert.Equal(userProfileToUpdate.FirebaseUserId, userProfileFromDb.FirebaseUserId);
            Assert.Equal(userProfileToUpdate.Email, userProfileFromDb.Email);
            Assert.Equal(userProfileToUpdate.Bio, userProfileFromDb.Bio);
            Assert.Equal(userProfileToUpdate.DateCreated, userProfileFromDb.DateCreated);
        }
        public void Post_Method_Adds_A_New_User()
        {
            //Arrange
            var userCount = 20;
            var users     = CreateTestUsers(userCount);

            var repo       = new InMemoryUserProfileRepository(users);
            var controller = new UserProfileController(repo);

            //Act
            var newUser = new UserProfile()
            {
                Name        = "Updated!",
                Email       = "Updated!",
                Bio         = "Updated",
                DateCreated = DateTime.Today,
                ImageUrl    = "http://user.image.url",
            };

            controller.Post(newUser);

            //Assert
            Assert.Equal(userCount + 1, repo.InternalData.Count);
        }