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); }
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); }
public void ReturnInstance_WhenParameterIsNotNull() { //Arrange var feedbacks = new Mock <IEfGenericRepository <Feedback> >(); var feedbacksService = new FeedbacksService(feedbacks.Object); //Act & Assert Assert.IsInstanceOf <IFeedbacksService>(feedbacksService); }
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)); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
public FeedbackController(FeedbacksService service) { _service = service; }