public void CannotAddSameRoomTwiceInDatabase()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            //Arrange
            Room dummyRoom    = dummyConstantRoom;
            var  postResponse = testRoomController.PostRoom(dummyRoom);
            //Act
            var secondPostResponse = testRoomController.PostRoom(dummyRoom);
            var secondPostResult   = secondPostResponse.Result.Result;
            var postStatusCode     = (secondPostResult as StatusCodeResult);

            //Assert
            Assert.IsInstanceOfType(secondPostResult, typeof(StatusCodeResult));
            Assert.AreEqual(postStatusCode.StatusCode, 409);
            // Clearing Changes
            ClearAllChanges();
        }
        public void CantGetInacitveRoomWithIDNotInDatabase()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            //Arrange
            Populate();
            //Act
            var GetRoomWithLocationIDResult = testRoomController.GetInactiveRoomByID(19).Result.Value.ToList();

            //assert
            Assert.AreEqual(GetRoomWithLocationIDResult.Count(), 0);
            //Clearing Changes
            ClearAllChanges();
        }
        public void CannotDeleteRoomNotInDatabase()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            //Arrange
            Populate();
            //Act
            var deleteResult = testRoomController.DeleteRoom(12728).Result.Result;

            //Assert
            Assert.IsInstanceOfType(deleteResult, typeof(NotFoundResult));
            // Clearing Changes
            ClearAllChanges();
        }
        public void CanDeleteRoomInDatabase()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            //Arrange
            Room room = new Room()
            {
                RoomID = 5
            };
            var postResponse = testRoomController.PostRoom(room);
            //Act
            var deleteResult     = testRoomController.DeleteRoom(5).Result.Result;
            var deleteStatusCode = (deleteResult as StatusCodeResult);

            //Assert
            Assert.AreEqual(deleteStatusCode.StatusCode, 202);
            // Clearing Changes
            ClearAllChanges();
        }
        public void CannotUpdateRoomWithWrongSignature()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            //Arrange
            Room room = new Room()
            {
                RoomID = 5
            };
            var postResponse = testRoomController.PostRoom(room);
            //Act
            var putResponse = testRoomController.PutRoom(128923, room).Result;

            //Assert
            Assert.IsInstanceOfType(putResponse, typeof(BadRequestResult));
            // Clearing Changes
            ClearAllChanges();
        }
        public void CanGetAllRoomsInDatabase()
        {
            // Arrange Everything We Need For Our Unit Tests
            options = new DbContextOptionsBuilder <ApplicationDBContext>()
                      .UseInMemoryDatabase(databaseName: "TestRevatureHousingData")
                      .Options;
            testContext        = new ApplicationDBContext(options);
            dummyRoomsData     = new RoomDummyData();
            dummyRooms         = dummyRoomsData.RoomsList;
            testRoomRepository = new RoomRepository(testContext);
            testRoomController = new RoomsController(testRoomRepository);
            dummyConstantRoom  = new Room()
            {
                RoomID = 12728
            };
            // Arrange
            // Adding all rooms to database
            Populate();
            //Act
            var allRooms      = testRoomController.GetRoom().Result.ToList();
            var allDummyRooms = dummyRooms.Count;

            Assert.AreEqual(allRooms.Count, allDummyRooms);
            // Clearing Changes
            ClearAllChanges();
        }