public async Task WhenCollectionContainsMultipleTypes_AndSearchingByMultipleTypes_ThenMultipleTypesReturned() { //Arrange var logger = _factory.CreateLogger <GenericRepository <BaseTestObject> >(); var repo = new GenericRepository <BaseTestObject>(_client, logger, _cosmos, "BaseTest"); var child1 = new ChildObject1() { SomeIntValue = 10 }; var child2 = new ChildObject2 { SomeStringProp = "testing String" }; await repo.Upsert(child1); await repo.Upsert(child2); //Act var results = await repo.Get(x => 1 == 1, new SearchModel()); //return everything //Assert results.TotalResults.Should().BeGreaterOrEqualTo(2); }
public async Task WhenMultipleTypesInOneCollection_AndRepoIsSpecificToOneType_ThenOtherTypesAreFiltered() { //Arrange var logger = _factory.CreateLogger <GenericRepository <BaseTestObject> >(); var repo = new GenericRepository <BaseTestObject>(_client, logger, _cosmos, "BaseTest"); var specificRepo = new GenericRepository <ChildObject1>(_client, _factory.CreateLogger <GenericRepository <ChildObject1> >(), _cosmos, "BaseTest"); var child1 = new ChildObject1() { SomeIntValue = 10 }; var child2 = new ChildObject2 { SomeStringProp = "testing String" }; await repo.Upsert(child1); await repo.Upsert(child2); //Act var results = await specificRepo.Get(x => 1 == 1, new SearchModel()); //Assert results.TotalResults.Should().NotBe(0); results.Results.Where(x => x.ItemType.Contains("ChildObject2")).Should().BeEmpty(); }
public async Task WhenUsingBaseType_CanInsertMultipleTypes() { //Arrange var logger = _factory.CreateLogger <GenericRepository <BaseTestObject> >(); var repo = new GenericRepository <BaseTestObject>(_client, logger, _cosmos, "BaseTest"); var child1 = new ChildObject1() { SomeIntValue = 10 }; var child2 = new ChildObject2 { SomeStringProp = "testing String" }; //Act var id = await repo.Upsert(child1); var id2 = await repo.Upsert(child2); //Assert id.Should().NotBeEmpty(); id2.Should().NotBeEmpty(); }