public void GetDetails_ShouldReturnCorrect_ListFrom_StoriesViewModel() { var user = new GoUser { Id = "1" }; var sut = SetupGetDetailsSut(); var actual = sut.GetDetails("2", user); var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var expected = new List <StoryViewModel> { new StoryViewModel { Id = "7", DestinationId = "2", AuthorId = "8", Author = "Niki", Title = "Mrun", PeopleWhosLikeThis = 2 }, new StoryViewModel { Id = "8", DestinationId = "2", AuthorId = "9", Author = "Pelin", Title = "Drun", PeopleWhosLikeThis = 0 }, new StoryViewModel { Id = "9", DestinationId = "2", AuthorId = "10", Author = "Saso", Title = "Brum", PeopleWhosLikeThis = 1 } }; Assert.Equal(expected, actual.Stories, new StoriesViewModelComparer()); }
private DestinationService SetupGetDetailsSut() { var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var commentsRepoBuilder = new CommentsRepositoryBuilder(); var commentsRepo = commentsRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var peopleStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var peopleStoriesRepo = peopleStoriesRepoBuilder .WithAll() .Build(); var destUsersRepoBuilder = new DestinationsUsersRepositoryBuilder(); var destUserRepo = destUsersRepoBuilder .WithAll() .Build(); var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); return(new DestinationService(destRepo, destUserRepo, peopleStoriesRepo, commentsRepo, storiesRepo, usersRepo, null, Mapper)); }
public void GetDetails_ShouldReturnCorrect_ListFrom_UsersNotKnowAnyone() { var user = new GoUser { Id = "1" }; var sut = SetupGetDetailsSut(); var actual = sut.GetDetails("2", user); var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var expected = new List <GoUserViewModel> { new GoUserViewModel { Id = "9", FirstName = "Pelin", Image = usersRepo.All() .FirstOrDefault(x => x.Id == "9").Image }, new GoUserViewModel { Id = "10", FirstName = "Saso", Image = usersRepo.All() .FirstOrDefault(x => x.Id == "10").Image }, new GoUserViewModel { Id = "11", FirstName = "Koni", Image = usersRepo.All() .FirstOrDefault(x => x.Id == "11").Image }, }; Assert.Equal(expected, actual.ParticipantsNotKnowAnyone, new GoUserViewModelComparer()); }
public void GetDetails_ShouldReturnCorrect_ListFrom_ParticipantsKnowSomeone() { var user = new GoUser { Id = "1" }; var sut = SetupGetDetailsSut(); var actual = sut.GetDetails("2", user); var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var expected = new List <GoUserViewModel> { new GoUserViewModel { Id = "7", FirstName = "Slavqna", Image = ConvertImageToByteArray(SetupFileMock().Object) }, //!!!! inage new GoUserViewModel { Id = "8", FirstName = "Niki", Image = ConvertImageToByteArray(SetupFileMock().Object) } }; Assert.Equal(expected, actual.ParticipantsKnowSomeone, new GoUserViewModelComparer()); }
public void GetDetails_ShouldThrow_IfThemNotExist() { var themsRepoBuilder = new ThemsRepositoryBuilder(); var themsRepo = themsRepoBuilder .WithAll() .Build(); var themCommentRepoBuilder = new ThemCommentsRepositoryBuilder(); var themCommentsRepo = themCommentRepoBuilder .WithAll() .Build(); var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var sut = new ThemService(themsRepo, usersRepo, themCommentsRepo, Mapper); var user = new GoUser { Id = "7" }; var ex = Assert.Throws <ArgumentException>(() => sut.GetDetails("7", user)); Assert.Equal("Theme not exist!", ex.Message); themsRepoBuilder.ThemsRepoMock.Verify(); }
public void GetDetails_ShouldReturn_CourseDetailsViewModel() { var coursesRepoBuilder = new CoursesRepositoryBuilder(); var courseRepo = coursesRepoBuilder .WithAll() .Build(); var coursesUsersRepoBuilder = new CoursesUsersRepositoryBuilder(); var coursUserRepo = coursesUsersRepoBuilder .WithAll() .Build(); var usersRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = usersRepoBuilder .WithAll() .Build(); var sut = new CoursesService(coursUserRepo, courseRepo, userRepo, Mapper); var actual = sut.GetDetails(1, "2"); var expected = new CourseDetailsViewModel { Id = "2", Image = new byte[0], Title = "Brum", Description = "Brummmmmmmmmmmmm", MaxCountParticipants = 10, StartDate = DateTime.Now.AddDays(2), DurationOfDays = 5, Creator = new GoUserViewModel { Id = "9", FirstName = "Pelin", Image = new byte[0] }, FreeSeats = 9, Status = Status.Theoretical, Category = Category.Cycling }; Assert.Equal(expected, actual, new CourseDetailsViewModelComparer()); Assert.Equal(expected.Creator, actual.Creator, new GoUserViewModelComparer()); Assert.True(1 == actual.Participants.Count()); coursesRepoBuilder.CoursesRepoMock.Verify(); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(); usersRepoBuilder.UsersRepoMock.Verify(); }
public async Task AddLevelResult_ShouldThrow_IfGameLevelParticipantNotExist() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var levelsRepoBuilder = new LevelRepositoryBuilder(); var levelRepo = levelsRepoBuilder .WithAll() .Build(); var levelsParticipantsRepoBuilder = new GameLevelParticipantRepositoryBuilder(); var levelsParticipantsRepo = levelsParticipantsRepoBuilder .WithAll() .Build(); var sut = new GamesService(null, levelRepo, levelsParticipantsRepo, userRepo, Mapper); var user = new GoUser { Id = "1" }; var gameLevelUserViewModel = new GameLevelParticipantViewModel { GameId = "7", LevelId = "6", ParticipantId = "10", Participant = "Saso", CorrespondingImage = ConvertImageToByteArray(SetupFileMock().Object), StatusLevel = StatusLevel.SuccessfullyPassed }; var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddLevelResult(gameLevelUserViewModel, user)); Assert.Equal("This GameLevelParticipant not exist!", ex.Message); levelsParticipantsRepoBuilder.LevelParticipantRepoMock.Verify(); userRepoBuilder.UsersRepoMock.Verify(r => r.SaveChangesAsync(), Times.Never); levelsParticipantsRepoBuilder.LevelParticipantRepoMock.Verify(r => r.SaveChangesAsync(), Times.Never); }
public async Task AddLevelResult_ShouldAddResultToGameLevelUserCorrect() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var levelsRepoBuilder = new LevelRepositoryBuilder(); var levelRepo = levelsRepoBuilder .WithAll() .Build(); var levelsParticipantsRepoBuilder = new GameLevelParticipantRepositoryBuilder(); var levelsParticipantsRepo = levelsParticipantsRepoBuilder .WithAll() .Build(); var sut = new GamesService(null, levelRepo, levelsParticipantsRepo, userRepo, Mapper); var user = new GoUser { Id = "1" }; var gameLevelUserViewModel = new GameLevelParticipantViewModel { GameId = "7", LevelId = "3", ParticipantId = "10", Participant = "Saso", CorrespondingImage = ConvertImageToByteArray(SetupFileMock().Object), StatusLevel = StatusLevel.SuccessfullyPassed }; await sut.AddLevelResult(gameLevelUserViewModel, user); userRepoBuilder.UsersRepoMock.Verify(); levelsRepoBuilder.LevelsRepoMock.Verify(); levelsParticipantsRepoBuilder.LevelParticipantRepoMock.Verify(); userRepoBuilder.UsersRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once); levelsParticipantsRepoBuilder.LevelParticipantRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once); }
public void GetDetails_ShouldThrow_IfStoryNotExist() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var ex = Assert.Throws <ArgumentException>(() => sut.GetDetails("17")); Assert.Equal("Story not exist!", ex.Message); }
public void GetDetails_ShouldReturnCorrect_StoryViewModel() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var actual = sut.GetDetails("7"); var peopleStories = userStoriesRepo.All().Where(x => x.StoryId == "7").Select(x => Mapper.Map <StoryViewModel>(x.Story)).ToList(); var author = userRepo.All().FirstOrDefault(x => x.Id == "8"); var expected = new StoryViewModel { Id = "7", DestinationId = "2", AuthorId = "8", Author = author.FirstName, Title = "Mrun", PeopleWhosLikeThis = peopleStories.Count() }; Assert.Equal(expected, actual, new StoriesViewModelComparer()); }
public void AllMyStories_ShouldReturnCorrectListStoryViewModels() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var user = new GoUser { Id = "10" }; var actual = sut.AllMyStories(user); var expected = new List <StoryViewModel> { new StoryViewModel { Id = "1", DestinationId = "3", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "2", DestinationId = "3", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "3", DestinationId = "6", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "4", DestinationId = "4", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "5", DestinationId = "5", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "6", DestinationId = "1", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "9", DestinationId = "2", AuthorId = "10", Author = "Saso ", Title = "Brum" } }; Assert.Equal(expected, actual, new StoriesViewModelComparer()); }
public void GetDetails_ShouldReturnCorrect_ThemDetailsViewModel() { var themsRepoBuilder = new ThemsRepositoryBuilder(); var themsRepo = themsRepoBuilder .WithAll() .Build(); var themCommentRepoBuilder = new ThemCommentsRepositoryBuilder(); var themCommentsRepo = themCommentRepoBuilder .WithAll() .Build(); var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var sut = new ThemService(themsRepo, usersRepo, themCommentsRepo, Mapper); var user = new GoUser { Id = "7" }; var actual = sut.GetDetails("1", user); var expected = new ThemDetailsViewModel { Id = "1", Description = "Niki otiva na more", Date = DateTime.Parse("07/02/2018"), AuthorId = "7", Author = "Slavqna ", Comments = new List <ThemCommentViewModel> { new ThemCommentViewModel { Id = "6", Content = "Niki otiva na more", ThemId = "1", Date = DateTime.Parse("08/02/2018"), AuthorId = "11", Author = "Koni " }, new ThemCommentViewModel { Id = "7", Content = "Nikiiiiiiiiiii", ThemId = "1", Date = DateTime.Parse("09/02/2018"), AuthorId = "8", Author = "Niki " }, } }; Assert.Equal(expected, actual, new ThemDetailsViewModelComparer()); Assert.Equal(expected.Comments, actual.Comments, new ThemCommentViewModelComparer()); themsRepoBuilder.ThemsRepoMock.Verify(); themCommentRepoBuilder.ThemCommentsRepoMock.Verify(); usersRepoBuilder.UsersRepoMock.Verify(); }
public void GetDetails_ShouldReturn_GameDetailsViewModel() { var gameRepoBuilder = new GameRepositoryBuilder(); var gameRepo = gameRepoBuilder .WithAll() .Build(); var levelsRepoBuilder = new LevelRepositoryBuilder(); var levelRepo = levelsRepoBuilder .WithAll() .Build(); var usersRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = usersRepoBuilder .WithAll() .Build(); var levelsParticipantsRepoBuilder = new GameLevelParticipantRepositoryBuilder(); var levelsParticipantsRepo = levelsParticipantsRepoBuilder .WithAll() .Build(); var sut = new GamesService(gameRepo, levelRepo, levelsParticipantsRepo, userRepo, Mapper); var actual = sut.GetDetails("7"); var expected = new GameDetailsViewModel { Id = "7", Name = "Nameri mqstoto", Description = "nameriiiiiiiiiii", Creator = "Niki", Level1 = new LevelViewModel { Id = "1", Description = "mmmmm", Points = 1, GameId = "7", NumberInGame = 1, Image = levelRepo.All().FirstOrDefault(x => x.Id == "1").Image }, Level2 = new LevelViewModel { Id = "2", Description = "nnnnnnnnnnnnnnnn", Points = 3, GameId = "7", NumberInGame = 2, Image = levelRepo.All().FirstOrDefault(x => x.Id == "2").Image }, Level3 = new LevelViewModel { Id = "3", Description = "rrrrrrrrrrrrrrrrrr", Points = 5, GameId = "7", NumberInGame = 3, Image = levelRepo.All().FirstOrDefault(x => x.Id == "3").Image }, GameParticipantsLevel1 = new List <GameLevelParticipantViewModel> { new GameLevelParticipantViewModel { GameId = "7", LevelId = "1", ParticipantId = "10", Participant = "Saso ", CorrespondingImage = ConvertImageToByteArray(SetupFileMock().Object), StatusLevel = StatusLevel.NotPassed } }, GameParticipantsLevel2 = new List <GameLevelParticipantViewModel> { new GameLevelParticipantViewModel { GameId = "7", LevelId = "2", ParticipantId = "10", Participant = "Saso ", CorrespondingImage = ConvertImageToByteArray(SetupFileMock().Object), StatusLevel = StatusLevel.NotPassed } }, GameParticipantsLevel3 = new List <GameLevelParticipantViewModel> { new GameLevelParticipantViewModel { GameId = "7", LevelId = "3", ParticipantId = "10", Participant = "Saso ", CorrespondingImage = ConvertImageToByteArray(SetupFileMock().Object), StatusLevel = StatusLevel.NotPassed } } }; Assert.Equal(expected, actual, new GameDetailsViewModelComparer()); Assert.Equal(expected.Level1, actual.Level1, new LevelViewModelComparer()); Assert.Equal(expected.Level2, actual.Level2, new LevelViewModelComparer()); Assert.Equal(expected.Level3, actual.Level3, new LevelViewModelComparer()); Assert.Equal(expected.GameParticipantsLevel1, actual.GameParticipantsLevel1, new GameLevelParticipantViewModelComparer()); Assert.Equal(expected.GameParticipantsLevel2, actual.GameParticipantsLevel2, new GameLevelParticipantViewModelComparer()); Assert.Equal(expected.GameParticipantsLevel3, actual.GameParticipantsLevel3, new GameLevelParticipantViewModelComparer()); gameRepoBuilder.GamesRepoMock.Verify(); }
public void GetAllParticipants_ShouldReturn_All_UsersResultsViewModels() { var coursesRepoBuilder = new CoursesRepositoryBuilder(); var courseRepo = coursesRepoBuilder .WithAll() .Build(); var coursesUsersRepoBuilder = new CoursesUsersRepositoryBuilder(); var coursUserRepo = coursesUsersRepoBuilder .WithAll() .Build(); var usersRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = usersRepoBuilder .WithAll() .Build(); var sut = new CoursesService(coursUserRepo, courseRepo, userRepo, Mapper); var user = new GoUser { Id = "7" }; var actual = sut.GetAllParticipants("1", user); var expected = new List <UsersResultsViewModel> { new UsersResultsViewModel { CourseId = "1", ParticipantId = "8", Participant = new GoUserViewModel { Id = "8", FirstName = "Niki", }, Result = StatusParticitant.Successfully }, new UsersResultsViewModel { CourseId = "1", ParticipantId = "9", Participant = new GoUserViewModel { Id = "9", FirstName = "Pelin" }, Result = StatusParticitant.Successfully }, new UsersResultsViewModel { CourseId = "1", ParticipantId = "11", Participant = new GoUserViewModel { Id = "11", FirstName = "Koni" }, Result = StatusParticitant.Unsuccessfully } }.AsQueryable(); var usersFromActual = actual.Select(x => x.Participant).ToList(); var usersFromExpected = expected.Select(x => x.Participant).ToList(); Assert.Equal(expected, actual, new UsersResultsViewModelComparer()); Assert.Equal(usersFromExpected, usersFromActual, new GoUserViewModelComparer()); coursesRepoBuilder.CoursesRepoMock.Verify(); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(); usersRepoBuilder.UsersRepoMock.Verify(); }