public void GetIssuesByComponentType_ReturnIssues()
        {
            var componentType1 = new ComponentTypeTO {
                Id = 1, Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl")
            };
            var componentType2 = new ComponentTypeTO {
                Id = 2, Archived = false, Name = new MultiLanguageString("Name2En", "Name2Fr", "Name2Nl")
            };

            //Issue
            var issues = new List <IssueTO>
            {
                new IssueTO {
                    Id = 1, Archived = false, Description = "Plus de café", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = componentType1
                },
                new IssueTO {
                    Id = 2, Archived = false, Description = "Fuite d'eau", Name = new MultiLanguageString("Issue2EN", "Issue2FR", "Issue2NL"), ComponentType = componentType2
                },
                new IssueTO {
                    Id = 3, Archived = false, Description = "Plus de PQ", Name = new MultiLanguageString("Issue3EN", "Issue3FR", "Issue3NL"), ComponentType = componentType2
                },
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(u => u.IssueRepository.GetIssuesByComponentType(It.IsAny <int>())).Returns(issues);
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            //ACT
            var listOfIssues = sut.GetIssuesByComponentType(1);

            //ASSERT
            mockUnitOfWork.Verify(u => u.IssueRepository.GetIssuesByComponentType(It.IsAny <int>()), Times.Once);
            Assert.AreEqual(3, listOfIssues.Count);
        }
Ejemplo n.º 2
0
        public void CreateIncident_InvalidStatus_ThrowsException()
        {
            // Arrange
            var floor = new FloorTO {
                Number = 2
            };
            var room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor
            };
            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = componentType
            };
            var incident = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = room,
                Issue       = issue,
                Status      = IncidentStatus.Accepted,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>()));
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act & Assert
            Assert.ThrowsException <LoggedException>(() => sut.CreateIncident(incident));
            mockUnitOfWork.Verify(u => u.CommentRepository.Add(It.IsAny <CommentTO>()), Times.Never);
        }
Ejemplo n.º 3
0
        public void GetRoomsByFloor_ReturnRooms()
        {
            //ARRANGE
            //Floor
            var floor1 = new FloorTO {
                Id = 1, Number = 2
            };
            var floor2 = new FloorTO {
                Id = 2, Number = -1
            };
            //Room
            var rooms = new List <RoomTO>
            {
                new RoomTO {
                    Id = 1, Archived = false, Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor1
                },
                new RoomTO {
                    Id = 2, Archived = false, Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = floor1
                },
                new RoomTO {
                    Id = 3, Archived = false, Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = floor2
                }
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(u => u.RoomRepository.GetRoomsByFloor(It.IsAny <int>())).Returns(rooms);
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);
            //ACT
            var listOfRooms = sut.GetRoomsByFloor(1);

            //ASSERT
            mockUnitOfWork.Verify(u => u.RoomRepository.GetRoomsByFloor(It.IsAny <int>()), Times.Once);
            Assert.AreEqual(3, listOfRooms.Count);
        }
Ejemplo n.º 4
0
        public void GetFloors_AddThreeFloorsThenRetrieveThem_ReturnCorrectNumberOfFloors()
        {
            //ARRANGE
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();
            var floors         = new List <FloorTO>
            {
                new FloorTO {
                    Id = 1, Archived = false
                },
                new FloorTO {
                    Id = 2, Archived = false
                },
                new FloorTO {
                    Id = 3, Archived = false
                },
            };

            mockUnitOfWork.Setup(u => u.FloorRepository.GetAll()).Returns(floors);
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);
            //ACT
            var listOfFloors = sut.GetFloors();

            //ASSERT
            mockUnitOfWork.Verify(u => u.FloorRepository.GetAll(), Times.Once);
            Assert.AreEqual(3, listOfFloors.Count);
        }
        public void GetCommentsByIncident_ReturnComments()
        {
            //ARRANGE
            var comments = new List <CommentTO>
            {
                new CommentTO {
                    Id = 1, Incident = new IncidentTO {
                        Id = 1
                    }, Message = "Message 1", SubmitDate = DateTime.Now, UserId = 1
                },
                new CommentTO {
                    Id = 2, Incident = new IncidentTO {
                        Id = 1
                    }, Message = "Message 2", SubmitDate = DateTime.Now.AddDays(1), UserId = 1
                },
                new CommentTO {
                    Id = 3, Incident = new IncidentTO {
                        Id = 1
                    }, Message = "Message 3", SubmitDate = DateTime.Now.AddDays(2), UserId = 1
                },
            };
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(u => u.CommentRepository.GetCommentsByIncident(It.IsAny <int>())).Returns(comments);
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            //ACT
            var result = sut.GetCommentsByIncident(1);

            //ASSERT
            mockUnitOfWork.Verify(u => u.CommentRepository.GetCommentsByIncident(It.IsAny <int>()), Times.Once);
            Assert.AreEqual(3, result.Count);
        }
        public void GetIssuesByComponentType_IncorrectRoomID_ThrowLoggedException()
        {
            //ARRANGE
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();
            var sut            = new FSAttendeeRole(mockUnitOfWork.Object);

            Assert.ThrowsException <LoggedException>(() => sut.GetIssuesByComponentType(-1));
        }
Ejemplo n.º 7
0
        public void GetUserIncidents_ThrowException_WhenInvalidIdIsSupplied()
        {
            // Arrange
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();
            var sut            = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act & Assert
            Assert.ThrowsException <LoggedException>(() => sut.GetUserIncidents(0));
            Assert.ThrowsException <LoggedException>(() => sut.GetUserIncidents(-1));
        }
        public void GetCommentsByIncident_ThrowException_WhenInvalidIdIsSupplied()
        {
            //ARRANGE
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();
            var sut            = new FSAttendeeRole(mockUnitOfWork.Object);

            //ACT & ASSERT
            Assert.ThrowsException <LoggedException>(() => sut.GetCommentsByIncident(0));
            Assert.ThrowsException <LoggedException>(() => sut.GetCommentsByIncident(-1));
        }
Ejemplo n.º 9
0
        public void CreateIncident_NullIncident_ThrowsException()
        {
            // Arrange
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>()));
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => sut.CreateIncident(null));
            mockUnitOfWork.Verify(u => u.CommentRepository.Add(It.IsAny <CommentTO>()), Times.Never);
        }
Ejemplo n.º 10
0
        public void GetRoomsByFloor_IncorrectRoomID_ThrowLoggedException()
        {
            //ARRANGE
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();
            var sut            = new FSAttendeeRole(mockUnitOfWork.Object);

            //ACT

            //ASSERT
            Assert.ThrowsException <LoggedException>(() => sut.GetRoomsByFloor(0));
            Assert.ThrowsException <LoggedException>(() => sut.GetRoomsByFloor(-1));
        }
        public void GetComponentTypesByRoom_ReturnRooms()
        {
            //Floor
            var floor1 = new FloorTO {
                Number = 2
            };
            var floor2 = new FloorTO {
                Number = -1
            };
            //Room
            var rooms = new List <RoomTO>
            {
                new RoomTO {
                    Id = 1, Archived = false, Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor1
                },
                new RoomTO {
                    Id = 2, Archived = false, Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = floor1
                },
                new RoomTO {
                    Id = 3, Archived = false, Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = floor2
                }
            };
            var componentTypes = new List <ComponentTypeTO>
            {
                new ComponentTypeTO {
                    Id = 1, Archived = false, Name = new MultiLanguageString("Name1", "Name1", "Name1")
                },
                new ComponentTypeTO {
                    Id = 2, Archived = false, Name = new MultiLanguageString("Name2", "Name2", "Name2")
                },
                new ComponentTypeTO {
                    Id = 3, Archived = false, Name = new MultiLanguageString("Name3", "Name3", "Name3")
                },
            };
            //ARRANGE
            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(u => u.ComponentTypeRepository.GetComponentTypesByRoom(It.IsAny <int>()))
            .Returns(componentTypes);
            var sut  = new FSAttendeeRole(mockUnitOfWork.Object);
            var room = new ComponentTypeTO {
                Id = 1, Archived = false, Name = new MultiLanguageString("Name1", "Name1", "Name1")
            };
            //ACT
            var result = sut.GetComponentTypesByRoom(room.Id);

            //ASSERT
            mockUnitOfWork.Verify(u => u.ComponentTypeRepository.GetComponentTypesByRoom(It.IsAny <int>()), Times.Once);
            Assert.IsNotNull(result);
        }
Ejemplo n.º 12
0
        public void CreateIncident_IncidentIdNotZero_ThrowsException()
        {
            // Arrange
            var incident = new IncidentTO {
                Id = 1
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>()));
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act & Assert
            Assert.ThrowsException <LoggedException>(() => sut.CreateIncident(incident));
            mockUnitOfWork.Verify(u => u.CommentRepository.Add(It.IsAny <CommentTO>()), Times.Never);
        }
Ejemplo n.º 13
0
        public void CreateIncident_ValidIncident_ReturnsIncidentNotNull()
        {
            // Arrange
            var floor = new FloorTO {
                Number = 2
            };
            var room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor
            };
            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = componentType
            };
            var incident = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = room,
                Issue       = issue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>())).Returns((IncidentTO incident) =>
            {
                incident.Id = 1;
                return(incident);
            });
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act
            var result = sut.CreateIncident(incident);

            // Assert
            Assert.IsTrue(result);
            mockUnitOfWork.Verify(u => u.IncidentRepository.Add(It.IsAny <IncidentTO>()), Times.Once);
        }
Ejemplo n.º 14
0
        public void CreateIncident_IncompleteIncident_ThrowsException()
        {
            // Arrange
            var incident1 = new IncidentTO(); // Missing Issue & Room

            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = componentType
            };
            var incident2 = new IncidentTO {
                Issue = issue
            };                                                // Missing Room

            var floor = new FloorTO {
                Number = 2
            };
            var room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor
            };
            var incident3 = new IncidentTO {
                Room = room
            };                                              // Missing Issue

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>()));
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act & Assert
            Assert.ThrowsException <LoggedException>(() => sut.CreateIncident(incident1));
            Assert.ThrowsException <LoggedException>(() => sut.CreateIncident(incident2));
            Assert.ThrowsException <LoggedException>(() => sut.CreateIncident(incident3));
            mockUnitOfWork.Verify(u => u.CommentRepository.Add(It.IsAny <CommentTO>()), Times.Never);
        }
Ejemplo n.º 15
0
        public void GetUserIncidents_AddThreeIncidentsWithSameUserId_ThenRetrieveThem_ReturnsCorrectNumberOfIncidents()
        {
            // Arrange
            var userId = 1;
            var floor  = new FloorTO {
                Number = 2
            };
            var room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = floor
            };
            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = componentType
            };
            var incident1 = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = room,
                Issue       = issue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = userId,
            };
            var incident2 = new IncidentTO
            {
                Description = "This thing is still broken !",
                Room        = room,
                Issue       = issue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now.AddDays(7),
                UserId      = userId,
            };
            var incident3 = new IncidentTO
            {
                Description = "This hasn't been fixed yet ?!",
                Room        = room,
                Issue       = issue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now.AddDays(14),
                UserId      = userId,
            };

            var incidents = new List <IncidentTO> {
                incident1, incident2, incident3
            };

            var mockUnitOfWork = new Mock <IFSUnitOfWork>();

            mockUnitOfWork.Setup(uow => uow.IncidentRepository.Add(It.IsAny <IncidentTO>())).Returns(new IncidentTO());
            mockUnitOfWork.Setup(uow => uow.IncidentRepository.GetIncidentsByUserId(It.Is <int>(i => i > 0))).Returns(incidents);
            var sut = new FSAttendeeRole(mockUnitOfWork.Object);

            // Act
            sut.CreateIncident(incident1);
            sut.CreateIncident(incident2);
            sut.CreateIncident(incident3);
            var userIncidents = sut.GetUserIncidents(userId);

            // Assert
            mockUnitOfWork.Verify(u => u.IncidentRepository.Add(It.IsAny <IncidentTO>()), Times.Exactly(3));
            Assert.AreEqual(3, userIncidents.Count());
        }