public async Task ReturnCategoryCollection_ForQueriedFields() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(); try { using (var context = new FittifyContext(options)) { var resourceParameters = new CategoryResourceParameters() { Fields = "Name", DoIncludeIdsWhenQueryingSelectedFields = false }; var categoryRepository = new CategoryRepository(context); var categoryCollection = await categoryRepository.GetPagedCollection(resourceParameters); Assert.That(categoryCollection.Select(s => s.Id), Is.All.EqualTo(0)); Assert.That(categoryCollection.Select(s => s.OwnerGuid), Is.All.EqualTo(null)); } } catch (Exception e) { var msg = e.Message; } finally { connection.Close(); } }
public async Task ReturnSecondSequenceOfPagedCategoryListCollection() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(); try { using (var context = new FittifyContext(options)) { var pagedCategoriesFromContext = context.Categories.Skip(3).Take(3).ToList(); var serializedCategoriesFromContext = JsonConvert.SerializeObject(pagedCategoriesFromContext); var resourceParameters = new CategoryResourceParameters() { PageNumber = 2, PageSize = 3, OwnerGuid = _ownerGuid }; var categoryRepository = new CategoryRepository(context); var categoryCollection = await categoryRepository.GetPagedCollection(resourceParameters); var serializedCategoriesFromRepo = JsonConvert.SerializeObject(categoryCollection); Assert.AreEqual(serializedCategoriesFromContext, serializedCategoriesFromRepo); } } finally { connection.Close(); } }
public async Task ReturnOrderByNameDescendingThenByIdDescendingCollection() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(); try { using (var context = new FittifyContext(options)) { var resourceParameters = new CategoryResourceParameters() { OrderBy = new List <string>() { "name desc", " id desc" }, OwnerGuid = _ownerGuid }; var categoryRepository = new CategoryRepository(context); var categoryCollection = await categoryRepository.GetPagedCollection(resourceParameters); Assert.That(categoryCollection, Is.Ordered.By(nameof(Category.Name)).Descending.Then.By(nameof(Category.Id)).Descending); } } finally { connection.Close(); } }
public async Task ReturnCollection_ForNullResourceParameters() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(); try { using (var context = new FittifyContext(options)) { var defaultCategoryResourceParameters = new CategoryResourceParameters(); var pagedCategoriesFromContext = await context .Categories .Take(defaultCategoryResourceParameters.PageSize) .ToListAsync(); var serializedCategoriesFromContext = JsonConvert.SerializeObject(pagedCategoriesFromContext); var categoryRepository = new CategoryRepository(context); var categoryCollection = await categoryRepository.GetPagedCollection((CategoryResourceParameters)null); var serializedCategoriesFromRepo = JsonConvert.SerializeObject(categoryCollection); Assert.AreEqual(serializedCategoriesFromContext, serializedCategoriesFromRepo); } } finally { connection.Close(); } }
public async Task ReturnQueriedIdCollection() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(); try { using (var context = new FittifyContext(options)) { var resourceParameters = new CategoryResourceParameters() { Ids = "4-6", OwnerGuid = _ownerGuid }; var categoryRepository = new CategoryRepository(context); var categoryCollection = await categoryRepository.GetPagedCollection(resourceParameters); Assert.AreEqual(3, categoryCollection.Count); } } finally { connection.Close(); } }