Exemple #1
0
        public async void AddFeedbackCorrectly()
        {
            var dbContext = new DbContextOptionsBuilder <ApplicationDbContext>()
                            .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var feedbackRepository = new EfDeletableEntityRepository <Feedback>(new ApplicationDbContext(dbContext.Options));

            feedbackRepository.SaveChangesAsync().GetAwaiter().GetResult();

            var service = new FeedbacksService(feedbackRepository);

            var user = new ApplicationUser
            {
                Id = Guid.NewGuid().ToString(),
            };

            var meeting = new Meeting
            {
                Id = Guid.NewGuid().ToString(),
            };

            await service.AddAsync(user.Id, user, 6, "Awesome", meeting.Id, meeting);

            var list = feedbackRepository.All().ToList();

            Assert.Single(list);
            Assert.Equal("Awesome", list[0].Description);
            Assert.Equal(6, list[0].Rating);
        }
Exemple #2
0
        public async void DeleteFeedbackCorrectly()
        {
            var dbContext = new DbContextOptionsBuilder <ApplicationDbContext>()
                            .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var feedbackRepository = new EfDeletableEntityRepository <Feedback>(new ApplicationDbContext(dbContext.Options));

            feedbackRepository.SaveChangesAsync().GetAwaiter().GetResult();

            var service = new FeedbacksService(feedbackRepository);

            var user = new ApplicationUser
            {
                Id = Guid.NewGuid().ToString(),
            };

            var meeting = new Meeting
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Test 1",
            };

            await service.AddAsync(user.Id, user, 6, "Awesome", meeting.Id, meeting);

            var id       = feedbackRepository.All().Where(f => f.MeetingId == meeting.Id).First().Id;
            var feedback = service.GetFeedbackById(id);

            await service.Delete(feedback);

            var list = service.GetAllFeedbacks();

            Assert.Empty(list);
        }
Exemple #3
0
        public void ReturnInstance_WhenParameterIsNotNull()
        {
            //Arrange
            var feedbacks        = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act & Assert
            Assert.IsInstanceOf <IFeedbacksService>(feedbacksService);
        }
Exemple #4
0
        public void Throw_WhenPassedParameterIsNull()
        {
            //Arrange
            var feedbacks        = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act & Assert
            Assert.Throws <ArgumentNullException>(() => feedbacksService.Create(null));
        }
Exemple #5
0
        public void ReturnNull_WhenRepositoryMethodAll_ReturnsNull()
        {
            //Arrange
            var feedbacks = new Mock <IEfGenericRepository <Feedback> >();

            feedbacks.Setup(x => x.All()).Returns(() => null);
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            var result = feedbacksService.GetAll();

            //Assert
            Assert.IsNull(result);
        }
Exemple #6
0
        public void InvokeRepositoryMethosAllOnce()
        {
            //Arrange
            var feedbacks           = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksCollection = DataHelper.GetFeedbacks();

            feedbacks.Setup(x => x.All()).Returns(feedbacksCollection);
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            var result = feedbacksService.GetAll();

            //Assert
            feedbacks.Verify(x => x.All(), Times.Once);
        }
Exemple #7
0
        public void ReturnCorrectInstance()
        {
            //Arrange
            var feedbacks           = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksCollection = DataHelper.GetFeedbacks();

            feedbacks.Setup(x => x.All()).Returns(feedbacksCollection);
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            var result = feedbacksService.GetAll();

            //Assert
            Assert.IsInstanceOf <IQueryable <Feedback> >(result);
        }
Exemple #8
0
        public void InvokeRepositoryMethodAddOnce_WhenPassedParameterIsValid()
        {
            //Arrange
            var feedbacks = new Mock <IEfGenericRepository <Feedback> >();
            var feedback  = DataHelper.GetFeedback();

            feedbacks.Setup(x => x.Add(It.IsAny <Feedback>())).Verifiable();
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            feedbacksService.Create(feedback);

            //Assert
            feedbacks.Verify(x => x.Add(It.IsAny <Feedback>()), Times.Once);
        }
Exemple #9
0
        public void ReturnCorrectModel()
        {
            //Arrange
            var feedbacks           = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksCollection = DataHelper.GetFeedbacks();

            feedbacks.Setup(x => x.All()).Returns(feedbacksCollection);
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            var result = feedbacksService.GetAll();

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result, feedbacksCollection);
        }
Exemple #10
0
        public void ReturnCorrectModelWithRightProperties()
        {
            //Arrange
            var feedbacks           = new Mock <IEfGenericRepository <Feedback> >();
            var feedbacksCollection = DataHelper.GetFeedbacks();

            feedbacks.Setup(x => x.All()).Returns(feedbacksCollection);
            var feedbacksService = new FeedbacksService(feedbacks.Object);

            //Act
            var result = feedbacksService.GetAll();

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result, feedbacksCollection);
            Assert.AreEqual(result.FirstOrDefault().Id, feedbacksCollection.FirstOrDefault().Id);
            Assert.AreEqual(result.FirstOrDefault().Title, feedbacksCollection.FirstOrDefault().Title);
            Assert.AreEqual(result.FirstOrDefault().Content, feedbacksCollection.FirstOrDefault().Content);
            Assert.AreEqual(result.FirstOrDefault().CreationDate, feedbacksCollection.FirstOrDefault().CreationDate);
        }
Exemple #11
0
        public async void GetFeedbackByIdCorrectly()
        {
            var dbContext = new DbContextOptionsBuilder <ApplicationDbContext>()
                            .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var feedbackRepository = new EfDeletableEntityRepository <Feedback>(new ApplicationDbContext(dbContext.Options));

            feedbackRepository.SaveChangesAsync().GetAwaiter().GetResult();

            var service = new FeedbacksService(feedbackRepository);

            var user = new ApplicationUser
            {
                Id = Guid.NewGuid().ToString(),
            };

            var meeting = new Meeting
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Test 1",
            };

            var secondMeeting = new Meeting
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Test 2",
            };

            await service.AddAsync(user.Id, user, 6, "Awesome", meeting.Id, meeting);

            await service.AddAsync("Not user id", new ApplicationUser { }, 1, "Poor", secondMeeting.Id, secondMeeting);

            var id       = feedbackRepository.All().Where(f => f.MeetingId == secondMeeting.Id).First().Id;
            var feedback = service.GetFeedbackById(id);

            Assert.Equal(1, feedback.Rating);
            Assert.Equal("Poor", feedback.Description);
        }
Exemple #12
0
        public async void ListAllUserFeedbackCorrectly()
        {
            var dbContext = new DbContextOptionsBuilder <ApplicationDbContext>()
                            .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var feedbackRepository = new EfDeletableEntityRepository <Feedback>(new ApplicationDbContext(dbContext.Options));

            feedbackRepository.SaveChangesAsync().GetAwaiter().GetResult();

            var service = new FeedbacksService(feedbackRepository);

            var user = new ApplicationUser
            {
                Id = Guid.NewGuid().ToString(),
            };

            var meeting = new Meeting
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Test 1",
            };

            var secondMeeting = new Meeting
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Test 2",
            };

            await service.AddAsync(user.Id, user, 6, "Awesome", meeting.Id, meeting);

            await service.AddAsync("Not user id", new ApplicationUser { }, 1, "Poor", secondMeeting.Id, secondMeeting);

            var list = service.GetUserFeedbacks(user.Id).ToList();

            Assert.Single(list);
        }
Exemple #13
0
 public FeedbackController(FeedbacksService service)
 {
     _service = service;
 }