public void DoesNotReturnsBands_WithoutIncludingGenre()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.Where(x => x.Genre.GenreName.Contains("Metal")).AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands();

            CollectionAssert.AreNotEquivalent(expectedResult, bandResultSet.ToList());
        }
Beispiel #2
0
        public void Delete_ShouldThrowArgumentNullException_WhenPassedEntityIsNull()
        {
            //Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet <Post>(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);
            string expectedExceptionMessage = "entity";

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            //Act & Assert
            var exc = Assert.Throws <ArgumentNullException>(() => repositoryUnderTest.Delete(null));

            //Assert
            StringAssert.Contains(expectedExceptionMessage, exc.Message);
        }
Beispiel #3
0
        public void RerurnCorrectResults_WhenDescriptionMatches()
        {
            // Arrange
            var contextMock = new Mock <IPickAndBookDbContext>();

            Guid[] categoryIds    = new Guid[2];
            Guid   testCategoryId = Guid.NewGuid();

            categoryIds[0] = testCategoryId;
            categoryIds[1] = Guid.NewGuid();

            IEnumerable <Company> companies = GetCompanies(categoryIds);
            string searchTerm = "desCription 1";
            var    expectedCompanyResultSet = companies.Where(c => c.CategoryId.Equals(testCategoryId) &&
                                                              c.CompanyDescription.ToLower().Contains(searchTerm)).AsQueryable();

            var companySetMock = QueryableDbSetMock.GetQueryableMockDbSet(companies);

            contextMock.Setup(c => c.Set <Company>()).Returns(companySetMock);

            CompanyRepository companyRepository = new CompanyRepository(contextMock.Object);

            // Act
            var companyResultSet = companyRepository.GetCompaniesByCategoryIdNameOrDescription(testCategoryId, searchTerm);

            // Assert
            CollectionAssert.AreEquivalent(expectedCompanyResultSet, companyResultSet);
        }
Beispiel #4
0
        public void ReturnCountryWithProvidedId()
        {
            //Arrange
            Guid    id = Guid.NewGuid();
            Country expectedCountry = new Country()
            {
                Id = id, Name = "Bulgaria"
            };

            var countryDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(new List <Country>()
            {
                expectedCountry
            });

            countryDbSetMock.Setup(x => x.Find(expectedCountry.Id)).Returns(expectedCountry);

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.Countries).Returns(countryDbSetMock.Object);

            var countryService = new CountryService(yoyoTournamentsDbContextMock.Object);

            //Act
            var actualCountry = countryService.GetCountryById(id);

            //Assert
            Assert.AreSame(expectedCountry, actualCountry);
        }
Beispiel #5
0
        public void ReturnAllBand_WithTheGivenLetter()
        {
            const string letter = "A";

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);
            var expectedResult = bands.Where(x => x.BandName.Substring(0, 1) == letter).ToList();

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBands(letter);

            CollectionAssert.AreEquivalent(actualResult.ToList(), expectedResult);
        }
Beispiel #6
0
        public void ReturnTheRightCount_OfFoundBands_WithGivenGenre()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Metal";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre).ToList();

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre).ToList();

            Assert.That(expectedResult.Count == actualResult.Count);
        }
Beispiel #7
0
        public void ReturnDivisionTypeWithProvidedId()
        {
            //Arrange
            Guid id             = Guid.NewGuid();
            Guid divisionTypeId = Guid.NewGuid();
            Guid tournamentId   = Guid.NewGuid();

            Division expectedDivision = new Division
            {
                Id             = id,
                DivisionTypeId = divisionTypeId,
                TournamentId   = tournamentId
            };

            var divisionDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(new List <Division>()
            {
                expectedDivision
            });

            divisionDbSetMock.Setup(x => x.Find(expectedDivision.Id)).Returns(expectedDivision);

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.Divisions).Returns(divisionDbSetMock.Object);

            var divisionService = new DivisionService(yoyoTournamentsDbContextMock.Object);

            //Act
            var actualDivision = divisionService.GetDivisionById(id);

            //Assert
            Assert.AreSame(expectedDivision, actualDivision);
        }
Beispiel #8
0
        public void DoesNotReturnBands_WithNonExistingGenre()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Hop";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre);

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre);

            CollectionAssert.IsEmpty(actualResult);
        }
Beispiel #9
0
        public void ReturnBands_WithInstanceOfBand()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Metal";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre);

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre);

            CollectionAssert.AllItemsAreInstancesOfType(actualResult, typeof(Band));
        }
Beispiel #10
0
        public void ReturnCorrectResults_WhenCategoryIdMatches()
        {
            // Arange
            var contextMock = new Mock <IBookingSystemContext>();

            Guid[] categoryIds    = new Guid[2];
            Guid   testCategoryId = Guid.NewGuid();

            categoryIds[0] = testCategoryId;
            categoryIds[1] = Guid.NewGuid();

            IEnumerable <Company> companies = GetCompanies(categoryIds);

            var expectedCompanyResultSet = companies.Where(c => c.CategoryId.Equals(testCategoryId)).AsQueryable();

            var companySetMock = QueryableDbSetMock.GetQueryableMockDbSet(companies);

            contextMock.Setup(c => c.Companies).Returns(companySetMock);

            CompanyService companyService = new CompanyService(contextMock.Object);

            // Act
            IQueryable <Company> resultSet = companyService.GetCompaniesByCategoryId(testCategoryId);

            // Assert
            CollectionAssert.AreEqual(expectedCompanyResultSet, resultSet);
        }
Beispiel #11
0
        public void DoesNotReturnABand_WithDifferentStartingLetter()
        {
            const string letter = "A";

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBands(letter);

            CollectionAssert.DoesNotContain(actualResult.ToList(), expectedResult.Where(x => x.BandName == "Behemoth"));
        }
Beispiel #12
0
        public void Delete_ShouldSetIsDeleted_ToTrue()
        {
            //Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            //Act
            repositoryUnderTest.Delete(posts[0]);

            //Assert
            Assert.AreEqual(posts[0].IsDeleted, true);
        }
        public void ReturnedBands_AreAllInstancesOfBand()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands().ToList();

            CollectionAssert.AllItemsAreInstancesOfType(bandResultSet, typeof(Band));
        }
        public void ReturnExpectedResult_WhenCorrectParametersArePassed(int page, int pageSize, int count)
        {
            // Arrange
            var contextMock     = new Mock <IPickAndBookDbContext>();
            var categorySetMock = new Mock <IDbSet <Category> >();

            contextMock.Setup(c => c.Set <Category>()).Returns(categorySetMock.Object);

            IEnumerable <Category> categories = GetCategories(count);
            var categoryDbSetMock             = QueryableDbSetMock.GetQueryableMockDbSet(categories);

            contextMock.Setup(c => c.Set <Category>()).Returns(categoryDbSetMock);

            CategoryRepository categoryRepository = new CategoryRepository(contextMock.Object);
            int toSkip             = page * pageSize;
            var expectedCategories = categoryDbSetMock
                                     .OrderBy(c => c.CategoryName)
                                     .Skip(toSkip)
                                     .Take(pageSize);

            // Act
            var resultCategries = categoryRepository.GetAll(page, pageSize);

            // Assert
            CollectionAssert.AreEqual(expectedCategories, resultCategries);
        }
Beispiel #15
0
        public void ReturnNull_WhenDivisionTypeWithIdIsNotFound()
        {
            //Arrange
            Guid         id           = Guid.NewGuid();
            DivisionType divisionType = new DivisionType()
            {
                Id = id, Name = "Test", Description = "Test"
            };

            var divisionTypeDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(new List <DivisionType>()
            {
                divisionType
            });

            divisionTypeDbSetMock.Setup(x => x.Find(Guid.NewGuid())).Returns((DivisionType)null);

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.DivisionTypes).Returns(divisionTypeDbSetMock.Object);

            var divisionTypeService = new DivisionTypeService(yoyoTournamentsDbContextMock.Object);

            //Act
            var actualDivisionType = divisionTypeService.GetDivisionTypeById(id);

            //Assert
            Assert.IsNull(actualDivisionType);
        }
Beispiel #16
0
        public void ThrowArgumentException_WhenTheListWIthDivisionTypesIsNullOrEmpty()
        {
            // Arrange
            var expectedTournament = new Tournament
            {
                Name      = "Test name",
                Place     = "Test place",
                StartDate = DateTime.Now.Add(new TimeSpan(1, 0, 0, 0, 0)),
                EndDate   = DateTime.Now.Add(new TimeSpan(2, 0, 0, 0, 0)),
                CountryId = Guid.NewGuid()
            };

            var divisionTypeDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(new List <DivisionType>());

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.DivisionTypes).Returns(divisionTypeDbSetMock.Object);

            var divisionTypeServiceMock = new Mock <IDivisionTypeService>();

            divisionTypeServiceMock.Setup(x => x.GetAllDivisionTypes()).Returns(new List <DivisionType>());


            var tournamentService = new TournamentService(yoyoTournamentsDbContextMock.Object, divisionTypeServiceMock.Object);

            // Act & Assert
            ThrowsAssert.Throws <NullReferenceException>(
                () => tournamentService.CreateTournament(expectedTournament.Name,
                                                         expectedTournament.Place,
                                                         expectedTournament.StartDate,
                                                         expectedTournament.EndDate,
                                                         expectedTournament.CountryId)
                );
        }
        public void ReturnCorrectResults_WhenUserIdMatches()
        {
            // Arange
            var contextMock = new Mock <IPickAndBookDbContext>();

            String[] userIds    = new string[2];
            String   testUserId = Guid.NewGuid().ToString();

            userIds[0] = testUserId;
            userIds[1] = Guid.NewGuid().ToString();

            IEnumerable <Booking> bookings = GetBookings(userIds);

            var expectedBookingResultSet = bookings.Where(b => b.UserId.Equals(testUserId)).AsQueryable();

            var bookingSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bookings);

            contextMock.Setup(c => c.Set <Booking>()).Returns(bookingSetMock);

            BookingRepository bookingRepository = new BookingRepository(contextMock.Object);

            // Act
            IQueryable <Booking> resultSet = bookingRepository.GetBookingByUserId(testUserId);

            // Assert
            CollectionAssert.AreEqual(expectedBookingResultSet, resultSet);
        }
Beispiel #18
0
        public void ReturnDivisionTypeWithProvidedId()
        {
            //Arrange
            Guid         id = Guid.NewGuid();
            DivisionType expectedDivisionType = new DivisionType()
            {
                Id = id, Name = "Test", Description = "Test"
            };

            var divisionTypeDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(new List <DivisionType>()
            {
                expectedDivisionType
            });

            divisionTypeDbSetMock.Setup(x => x.Find(expectedDivisionType.Id)).Returns(expectedDivisionType);

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.DivisionTypes).Returns(divisionTypeDbSetMock.Object);

            var divisionTypeService = new DivisionTypeService(yoyoTournamentsDbContextMock.Object);

            //Act
            var actualDivisionType = divisionTypeService.GetDivisionTypeById(id);

            //Assert
            Assert.AreSame(expectedDivisionType, actualDivisionType);
        }
Beispiel #19
0
        public void ReturnDifferentBills_WhenIdUserIsNotValid()
        {
            // Arrange
            var contextMock        = this.ContextMock;
            var companyServiceMock = this.CompanyServiceMocked;

            var idUser = "******";
            var bills  = this.Bills;

            var billSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bills);

            var expectedResult = bills.Where(b => b.IdUser == "idUser03");


            contextMock.Setup(c => c.Bills).Returns(billSetMock.Object);

            Bills.Services.BillService billService = new Bills.Services.BillService(contextMock.Object, companyServiceMock.Object);

            // Act
            var result = billService.GetBillsByIdUser(idUser);

            // Assert
            contextMock.Verify(b => b.Bills, Times.Once);
            CollectionAssert.IsNotEmpty(expectedResult);
            CollectionAssert.IsEmpty(result);
            CollectionAssert.AreNotEquivalent(expectedResult, result);
        }
Beispiel #20
0
        public void GetById_ShouldReturnInstanceOfCorrectType_WhenIdIsValid()
        {
            // Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);
            mockedDbContext.SetupSet(c => c.Posts = mockedPostSet);

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            // Act
            var result = repositoryUnderTest.GetById(1);

            // Assert
            Assert.IsInstanceOf(typeof(Post), result);
        }
Beispiel #21
0
        public void AllWithDeleted_ShouldReturn_DbSet()
        {
            //Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet <Post>(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            //Act
            var result = repositoryUnderTest.AllWithDeleted();

            //Assert
            Assert.AreEqual(result, mockedPostSet);
        }
Beispiel #22
0
        public void All_ShouldReturn_InstanceOfIQueryable()
        {
            //Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet <Post>(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            //Act
            var result = repositoryUnderTest.All();

            //Assert
            Assert.IsInstanceOf(typeof(IQueryable <Post>), result);
        }
Beispiel #23
0
        public void Delete_ShouldSet_DeletedOn()
        {
            //Arrange
            var posts = new List <Post>
            {
                new Post()
                {
                    Id = 1, Title = "post", Content = "content"
                },
                new Post()
                {
                    Id = 2, Title = "post", Content = "content"
                }
            };

            var mockedDbContext = new Mock <MsSqlDbContext>();
            var mockedPostSet   = QueryableDbSetMock.GetQueryableMockDbSet(posts);

            mockedDbContext.Setup(c => c.Set <Post>()).Returns(mockedPostSet);
            mockedDbContext.Setup(c => c.Posts).Returns(mockedPostSet);

            var repositoryUnderTest = new EfRepository <Post>(mockedDbContext.Object);

            //Act
            repositoryUnderTest.Delete(posts[0]);

            //Assert
            Assert.IsAssignableFrom(typeof(DateTime), posts[0].DeletedOn);
        }
        public void Return_AllPosts_SortedByDate()
        {
            // Arrange
            var mockedDbContext            = new Mock <ICreatorsDbContext>();
            var mockedDbSaveChangesContext = new Mock <ICreatorsDbSaveChangesContext>();
            var mockedPostFactory          = new Mock <IPostFactory>();
            var mockedCategoryService      = new Mock <ICategoryService>();
            var mockedUserService          = new Mock <IUserService>();

            var posts = GetAllPost();

            var expectedResult = posts.OrderByDescending(x => x.PostedOn);
            var mockedPost     = QueryableDbSetMock.GetQueryableMockDbSet(posts);

            mockedDbContext.Setup(x => x.Posts).Returns(mockedPost);

            var postService = new PostService(
                mockedDbContext.Object,
                mockedDbSaveChangesContext.Object,
                mockedPostFactory.Object,
                mockedCategoryService.Object,
                mockedUserService.Object);

            // Act
            var actualResult = postService.GetAllPost();

            // Assert
            CollectionAssert.AreEqual(expectedResult, actualResult);
        }
        public void ReturnAllBands_WithIncludedCountryAndGenre()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands();

            CollectionAssert.AreEquivalent(expectedResult, bandResultSet.ToList());
        }
        public void ThrowArgumentNullExceptionWhenPassedEntityIsNull()
        {
            //Arrange
            var pages = new List <Page>
            {
                new Page()
                {
                    Id = Guid.NewGuid(), Title = "page", Content = "cntnt"
                },
                new Page()
                {
                    Id = Guid.NewGuid(), Title = "page", Content = "cntnt"
                }
            };
            var mockedDbContext = new Mock <ISotnWikiDbContext>();
            var mockedPageSet   = QueryableDbSetMock.GetQueryableMockDbSet <Page>(pages);

            mockedDbContext.Setup(c => c.Set <Page>()).Returns(mockedPageSet);
            mockedDbContext.Setup(c => c.Pages).Returns(mockedPageSet);
            string expectedExceptionMessage = "entity";

            var repositoryUnderTest = new EfGenericRepository <Page>(mockedDbContext.Object);

            //Act & Assert
            var exc = Assert.Throws <ArgumentNullException>(() => repositoryUnderTest.Add(null));

            //Assert
            StringAssert.Contains(expectedExceptionMessage, exc.Message);
        }
Beispiel #27
0
        public void ReturnExpectedResult_WhenCompaniesAreLessMoreEqualThan_LastRegisteredCompaniesCount(int count)
        {
            // Arrange
            var contextMock    = new Mock <IPickAndBookDbContext>();
            var companySetMock = new Mock <IDbSet <Company> >();

            contextMock.Setup(c => c.Set <Company>()).Returns(companySetMock.Object);

            IEnumerable <Company> companies = GetCompanies(count);
            var companyDbSetMock            = QueryableDbSetMock.GetQueryableMockDbSet(companies);

            contextMock.Setup(c => c.Set <Company>()).Returns(companyDbSetMock);

            CompanyRepository companyRepository = new CompanyRepository(contextMock.Object);

            var expectedCompanies = companyDbSetMock
                                    .OrderByDescending(c => c.CompanyId)
                                    .Take(DataConstants.LastRegisteredCompaniesCount);

            // Act
            var resultCompanies = companyRepository.GetLastAddedCompanies();

            // Assert
            CollectionAssert.AreEqual(expectedCompanies, resultCompanies);
        }
        public void ReturnPositiveNumber_IfPizzaWasFoundAndSuccessfullyRemoved_WhenCalled()
        {
            // Arrange
            Guid userId  = Guid.NewGuid();
            Guid pizzaId = Guid.NewGuid();

            var user = new ApplicationUser()
            {
                Cart = new List <BasePizza>()
                {
                    new BasePizza()
                    {
                        Id = pizzaId
                    }
                }
            };
            IEnumerable <ApplicationUser> users = new List <ApplicationUser>()
            {
                user
            };
            IEnumerable <Pizza>       pizzas       = Helper.GetPizzas();
            IEnumerable <CustomPizza> customPizzas = Helper.GetCustomPizzas();

            var pizzaContextMock = new Mock <IPizzaFactoryDbContext>();
            var orderContextMock = new Mock <IOrderDbContext>();
            var userContextMock  = new Mock <IIdentityDbContext>()
            {
                CallBase = true
            };
            var mapperMock    = new Mock <IMapper>();
            var validatorMock = new Mock <IValidator>();

            var pizzaDbSetMock       = QueryableDbSetMock.GetQueryableMockDbSet(pizzas);
            var customPizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(customPizzas);
            var userDbSetMock        = QueryableDbSetMock.GetQueryableMockDbSet(users);

            userDbSetMock.Setup(u => u.Find(userId.ToString())).Returns(user);
            userContextMock.Setup(ctx => ctx.Users).Returns(userDbSetMock.Object);
            userContextMock.Setup(ctx => ctx.SaveChanges()).Returns(() => user.Cart.Count == 1 ? 0 : 1);
            pizzaContextMock.Setup(ctx => ctx.Pizzas).Returns(pizzaDbSetMock.Object);
            pizzaContextMock.Setup(ctx => ctx.CustomPizzas).Returns(customPizzaDbSetMock.Object);

            IApplicationUserService userService =
                new ApplicationUserService(userContextMock.Object,
                                           pizzaContextMock.Object,
                                           orderContextMock.Object,
                                           mapperMock.Object,
                                           validatorMock.Object);

            // Act
            int result = userService.RemoveFromCart(userId.ToString(), pizzaId);

            // Assert
            Assert.IsTrue(result > 0);
        }
Beispiel #29
0
        public void ReturnCollection_ForTheProvidedPage_OrderedByStartDate()
        {
            // Arrange
            int page     = 2;
            int pageSize = 1;

            Guid id        = Guid.NewGuid();
            Guid countryId = Guid.NewGuid();

            Tournament expectedTournament = new Tournament
            {
                Id        = id,
                Name      = "expected tournament",
                StartDate = DateTime.Now.Add(new TimeSpan(1, 0, 0, 0)),
                EndDate   = DateTime.Now.Add(new TimeSpan(2, 0, 0, 0)),
                Place     = "expected place",
                CountryId = countryId
            };

            var expectedTournaments = new List <Tournament>()
            {
                expectedTournament,
                new Tournament
                {
                    Id        = Guid.NewGuid(),
                    Name      = "Test",
                    StartDate = DateTime.Now,
                    EndDate   = DateTime.Now,
                    Place     = "place",
                    CountryId = countryId
                }
            };

            var tournamentDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(expectedTournaments);

            var yoyoTournamentsDbContextMock = new Mock <IYoyoTournamentsDbContext>();

            yoyoTournamentsDbContextMock.Setup(x => x.Tournaments).Returns(tournamentDbSetMock.Object);

            var divisionTypeServiceMock = new Mock <IDivisionTypeService>();

            var tournamentService = new TournamentService(yoyoTournamentsDbContextMock.Object, divisionTypeServiceMock.Object);

            // Act
            var actualCount       = 0;
            var actualTournaments = tournamentService.GetAllTournamentsWIthPaging(out actualCount, page, pageSize);

            // Assert
            Assert.AreEqual(
                expectedTournaments
                .OrderBy(x => x.StartDate)
                .ToList()[page - 1].Name,
                actualTournaments.First().Name);
        }
Beispiel #30
0
        public void ReturnCorrectCollectionCount_AsOutParameter_WhenCalled()
        {
            // Arrange
            Guid userId = Guid.NewGuid();

            var user = new ApplicationUser()
            {
                Cart = new List <BasePizza>()
            };
            IEnumerable <ApplicationUser> users = new List <ApplicationUser>()
            {
                user
            };
            IEnumerable <Pizza>       pizzas       = Helper.GetPizzas();
            IEnumerable <CustomPizza> customPizzas = Helper.GetCustomPizzas();
            IEnumerable <Order>       orders       = new List <Order>()
            {
                new Order()
            };

            var pizzaContextMock = new Mock <IPizzaFactoryDbContext>();
            var orderContextMock = new Mock <IOrderDbContext>();
            var userContextMock  = new Mock <IIdentityDbContext>()
            {
                CallBase = true
            };
            var mapperMock    = new Mock <IMapper>();
            var validatorMock = new Mock <IValidator>();

            var pizzaDbSetMock       = QueryableDbSetMock.GetQueryableMockDbSet(pizzas);
            var customPizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(customPizzas);
            var userDbSetMock        = QueryableDbSetMock.GetQueryableMockDbSet(users);
            var orderDbSetMock       = QueryableDbSetMock.GetQueryableMockDbSet(orders);

            userDbSetMock.Setup(u => u.Find(userId.ToString())).Returns(user);
            userContextMock.Setup(ctx => ctx.Users).Returns(userDbSetMock.Object);
            pizzaContextMock.Setup(ctx => ctx.Pizzas).Returns(pizzaDbSetMock.Object);
            pizzaContextMock.Setup(ctx => ctx.CustomPizzas).Returns(customPizzaDbSetMock.Object);
            orderContextMock.Setup(ctx => ctx.Orders).Returns(orderDbSetMock.Object);

            IApplicationUserService userService =
                new ApplicationUserService(userContextMock.Object,
                                           pizzaContextMock.Object,
                                           orderContextMock.Object,
                                           mapperMock.Object,
                                           validatorMock.Object);
            int count = 0;

            // Act
            var result = userService.GetAllOrdersWithPaging(out count);

            // Assert
            Assert.AreEqual(1, count);
        }