public void Delete()
 {
     // Act
     _collectionController.Delete(Collection2);
     // Assert
     Assert.IsFalse(_database.CollectionExists(Collection2));
 }
Esempio n. 2
0
        public void Collection()
        {
            ILogger <CollectionController> _testlogger = null;

            using (var context = new AppDbContext(options, null))
            {
                var controller = new CollectionController(context, _testlogger);

                // Get all
                var result = controller.Get();
                // Assert
                var okResult = Assert.IsAssignableFrom <IEnumerable <Collection> >(result);
                var pgcount  = okResult.ToList().Count;
                Assert.Equal(2, pgcount);
                // Get by ID
                var result1   = controller.Get(1);
                var okResult1 = Assert.IsAssignableFrom <Collection>(result1);
                //var thisresult1 = okResult1.FirstOrDefault();
                Assert.Equal("collection type 1", result1.CollectionName);

                // test update
                var pg1 = new Collection {
                    CollectionID = 1, CollectionName = "collection type 1 upd"
                };
                controller.UpdateEntry(pg1);
                var result3 = controller.Get(1);
                //var thisresult3 = result3.FirstOrDefault();
                Assert.NotEqual("collection type 1", result3.CollectionName);
                Assert.Equal("collection type 1 upd", result3.CollectionName);

                // test delete
                var result4 = controller.Get(2);
                //var thisresult4 = result4.FirstOrDefault();
                Assert.Equal("collection type 2", result4.CollectionName);

                IActionResult result5    = controller.Delete(2);
                var           viewResult = Assert.IsType <Microsoft.AspNetCore.Mvc.OkResult>(result5);
                var           result6    = controller.Get(2);
                Assert.Null(result6);
            }
        }
        public void Collection_Owner_Can_Delete_A_Collection()
        {
            // Spoof an authenticated user by generating a ClaimsPrincipal
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] {
                new Claim(ClaimTypes.NameIdentifier, "FIREBASE_USER2"),
            }, "TestAuthentication"));

            // Spoof UserController
            var controller = new CollectionController(_fakeUserRepo.Object, _fakeCollectionRepo.Object, _fakeProjColRepo.Object);

            controller.ControllerContext             = new ControllerContext(); // Required to create the controller
            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = user
            };                                                                                 // Pretend the user is making a request to the controller

            // Attempt to get this user's collection
            var response = controller.Delete(2);

            // Returns Ok
            Assert.IsType <NoContentResult>(response);
        }
        public void Collection_NonOwner_Can_Not_Delete_A_Collection()
        {
            // Spoof an authenticated user by generating a ClaimsPrincipal
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] {
                new Claim(ClaimTypes.NameIdentifier, "FIREBASE_USER1"),
            }, "TestAuthentication"));

            // Spoof UserController
            var controller = new CollectionController(_fakeUserRepo.Object, _fakeCollectionRepo.Object, _fakeProjColRepo.Object);

            controller.ControllerContext             = new ControllerContext(); // Required to create the controller
            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = user
            };                                                                                 // Pretend the user is making a request to the controller

            // Attempt to get someone's else's collection
            var response = controller.Delete(2);

            // Returns Ok
            Assert.IsType <NotFoundResult>(response);
            // Verify we never called the repo method
            _fakeCollectionRepo.Verify(r => r.Delete(It.IsAny <CollectionDetailsViewModel>()), Times.Never());
        }