Пример #1
0
        public async void DeleteRoomAsyncTest()
        {
            var rId  = Guid.NewGuid();
            var room = new ApiRoom
            {
                RoomId = rId
            };
            var roomtoSend = new ApiRoomtoSend
            {
                RoomId = rId
            };
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ar          = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = true;

            complexRepo.Setup(r => r.DeleteAmenityRoomAsync(rId))
            .Returns(Task.FromResult(res));
            rss.Setup(r => r.SendRoomsMessages(roomtoSend));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ar.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <StatusCodeResult>(await controller.DeleteRoomAsync(room));

            //assert
            Assert.IsAssignableFrom <StatusCodeResult>(model);
        }
Пример #2
0
        public async void GetAllComplexAsyncTest()
        {
            var complex = new Logic.Complex
            {
                ComplexId     = Guid.NewGuid(),
                AddressId     = Guid.NewGuid(),
                ProviderId    = Guid.NewGuid(),
                ComplexName   = "test",
                ContactNumber = "1234567892"
            };
            //setup
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ar          = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = new List <Logic.Complex>
            {
                complex
            };

            complexRepo.Setup(r => r.ReadComplexListAsync())
            .Returns(Task.FromResult(res));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ar.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <ActionResult <IEnumerable <ApiComplex> > >(await controller.GetAllComplexAsync());

            //assert
            Assert.IsAssignableFrom <ActionResult <IEnumerable <ApiComplex> > >(model);
        }
        public async Task PostRoomShouldCreateRoom()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.CreateRoomAsync(
                               It.IsAny <Lib.Room>()
                               ));

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var roomTest = new Revature.Room.Lib.Room
            {
                ComplexId         = Guid.NewGuid(),
                RoomId            = Guid.NewGuid(),
                RoomNumber        = "ABC",
                NumberOfBeds      = 4,
                NumberOfOccupants = 4,
                Gender            = "Male",
                RoomType          = "Apartment"
            };

            roomTest.SetLease(DateTime.Now, DateTime.Today.AddDays(3));
            var result = await controller.PostRoomAsync(roomTest);

            //assert
            Assert.IsAssignableFrom <CreatedAtRouteResult>(result);
        }
        public async Task GetFilteredRoomsShouldFilterByComplexId()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.GetFilteredRoomsAsync(
                               It.IsAny <Guid>(),
                               It.IsAny <string>(),
                               It.IsAny <int>(),
                               It.IsAny <string>(),
                               It.IsAny <string>(),
                               It.IsAny <DateTime>(),
                               It.IsAny <Guid>()))
            .Returns(Task.FromResult <IEnumerable <Lib.Room> >(
                         new List <Lib.Room>()
            {
                new Lib.Room()
            }
                         ));
            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var result = await controller.GetFilteredRoomsAsync(Guid.NewGuid(), "", 1, "", "", DateTime.Now, Guid.NewGuid());

            //assert
            Assert.IsAssignableFrom <OkObjectResult>(result);
        }
        public async Task PutRoomShouldReturnNotFound()
        {
            //arrange
            var mockRepo = new Mock <IRepository>();

            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.UpdateRoomAsync(
                               It.IsAny <Lib.Room>()
                               )).Throws(new InvalidOperationException());

            mockRepo.Setup(r => r.ReadRoomAsync(It.IsAny <Guid>())).Returns(Task.FromResult <Lib.Room>(new Lib.Room()));

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);;

            //act
            var roomTest = new Lib.Room();

            //Need to set lease or else we will get an Argument Exception instead of InvalidOperation Exception
            roomTest.SetLease(DateTime.Now, DateTime.Now.AddDays(3));

            var result = await controller.PutRoomAsync(Guid.NewGuid(), roomTest);

            //assert
            Assert.IsType <NotFoundResult>(result);
        }
Пример #6
0
        public async void PostRoomsAsyncTest()
        {
            var amId    = Guid.NewGuid();
            var cId     = Guid.NewGuid();
            var rId     = Guid.NewGuid();
            var amenity = new ApiAmenity
            {
                AmenityId   = amId,
                AmenityType = "Pool",
                Description = "swimmming"
            };
            var amenities = new List <ApiAmenity>
            {
                amenity
            };
            var ar = new Logic.AmenityRoom
            {
                AmenityRoomId = Guid.NewGuid(),
                AmenityId     = amId,
                RoomId        = rId
            };
            var room = new ApiRoom
            {
                RoomId       = rId,
                RoomNumber   = "1234",
                ComplexId    = cId,
                ApiRoomType  = "dorm",
                NumberOfBeds = 3,
                LeaseStart   = Convert.ToDateTime("2010/1/1"),
                LeaseEnd     = Convert.ToDateTime("2020/1/1"),
                Amenities    = amenities
            };
            var rooms = new List <ApiRoom>
            {
                room
            };
            IEnumerable <ApiRoom> apiRooms = rooms;
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ara         = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = true;

            complexRepo.Setup(r => r.CreateAmenityRoomAsync(ar))
            .Returns(Task.FromResult(res));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ara.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <StatusCodeResult>(await controller.PostRoomsAsync(apiRooms));

            //assert
            Assert.IsAssignableFrom <StatusCodeResult>(model);
        }
        public async Task DeleteRoomShouldDelete()
        {
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.DeleteRoomAsync(
                               It.IsAny <Guid>()));

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var result = await controller.DeleteRoomAsync(Guid.NewGuid());

            //assert
            Assert.IsAssignableFrom <NoContentResult>(result);
        }
        public async Task GetRoomShouldReturnNotFound()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.ReadRoomAsync(
                               It.IsAny <Guid>())).Throws(new InvalidOperationException());

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);
            //act
            var result = await controller.GetRoomAsync(Guid.NewGuid());

            //assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task GetRoomShouldReturnRoom()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.ReadRoomAsync(
                               It.IsAny <Guid>())).Returns(Task.FromResult <Lib.Room>(
                                                               new Lib.Room()
                                                               ));
            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var result = await controller.GetRoomAsync(Guid.NewGuid());

            //assert
            Assert.IsAssignableFrom <OkObjectResult>(result);
        }
        public async Task PostRoomShouldReturnBadRequest()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.CreateRoomAsync(
                               It.IsAny <Lib.Room>()
                               )).Throws(new ArgumentException());

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var roomTest = new Lib.Room();

            var result = await controller.PostRoomAsync(roomTest);

            //assert
            Assert.IsType <BadRequestResult>(result);
        }
Пример #11
0
        public async void GetComplexByIdAsyncTest()
        {
            //setup
            var complexId   = Guid.NewGuid();
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ar          = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = new Logic.Complex();

            complexRepo.Setup(r => r.ReadComplexByIdAsync(complexId))
            .Returns(Task.FromResult(res));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ar.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <ActionResult <ApiComplex> >(await controller.GetComplexByIdAsync(complexId));

            //assert
            Assert.IsAssignableFrom <ActionResult <ApiComplex> >(model);
        }
        public async Task GetFilteredRoomsAsyncShouldReturnKeyNotFoundException()
        {
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.GetFilteredRoomsAsync(
                               It.IsAny <Guid>(),
                               It.IsAny <string>(),
                               It.IsAny <int>(),
                               It.IsAny <string>(),
                               It.IsAny <string>(),
                               It.IsAny <DateTime>(),
                               It.IsAny <Guid>()))
            .Throws(new KeyNotFoundException());

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            var result = await controller.GetFilteredRoomsAsync(Guid.NewGuid(), "", 1, "", "", DateTime.Now, Guid.NewGuid());

            Assert.IsType <NotFoundObjectResult>(result);
        }
Пример #13
0
        static void Main(string[] args)
        {
            ComplexController c1 = new ComplexController("Complex_1", 2, true, false, 4);

            c1.SaveTxt(@"C:\Users\student\Desktop\");
        }
Пример #14
0
        public async void PutComplexAsyncTest()
        {
            var cId     = Guid.NewGuid();
            var aId     = Guid.NewGuid();
            var pId     = Guid.NewGuid();
            var amId    = Guid.NewGuid();
            var address = new ApiComplexAddress
            {
                AddressId     = aId,
                StreetAddress = "test ave",
                City          = "dallas",
                State         = "TX",
                Country       = "USA",
                ZipCode       = "76010"
            };
            var amenity = new Logic.Amenity
            {
                AmenityId   = amId,
                AmenityType = "name",
                Description = "description"
            };
            var amenities = new List <Logic.Amenity>
            {
                amenity
            };
            var apiComplex = new ApiComplex
            {
                ComplexId      = cId,
                Address        = address,
                ProviderId     = pId,
                ComplexName    = "Liv+",
                ContactNumber  = "1234567890",
                ComplexAmenity = amenities
            };
            var complex = new Logic.Complex
            {
                ComplexId     = cId,
                AddressId     = aId,
                ProviderId    = pId,
                ComplexName   = "Liv+",
                ContactNumber = "1234567890"
            };
            var ac = new Logic.AmenityComplex
            {
                AmenityComplexId = Guid.NewGuid(),
                AmenityId        = amId,
                ComplexId        = cId
            };
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ar          = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = true;

            complexRepo.Setup(r => r.DeleteAmenityComplexAsync(cId))
            .Returns(Task.FromResult(res));
            complexRepo.Setup(r => r.UpdateComplexAsync(complex))
            .Returns(Task.FromResult(res));
            complexRepo.Setup(c => c.ReadAmenityListAsync())
            .Returns(Task.FromResult(amenities));
            complexRepo.Setup(p => p.CreateAmenityComplexAsync(ac))
            .Returns(Task.FromResult(res));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ar.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <StatusCodeResult>(await controller.PutComplexAsync(apiComplex));

            //assert
            Assert.IsAssignableFrom <StatusCodeResult>(model);
        }