public void SingleAsyncWithMoreThanOneThrowsException() { // Arrange var singleDummy = new Dummy { Id = Guid.NewGuid().ToString(), Name = "John" }; var dummies = new List <Dummy> { new Dummy { Id = Guid.NewGuid().ToString(), Name = "Nick" }, singleDummy }; Expression <Func <Dummy, bool> > predicate = x => true; var dataSource = dummies.AsQueryable(); var expected = dataSource.Where(predicate); MockHelpers.ResponseSetup(expected, dataSource, ref _mockDocumentClient); var entityStore = new CosmosStore <Dummy>(new CosmonautClient(_mockDocumentClient.Object), "databaseName"); // Act var result = new Action(() => entityStore.Query().SingleAsync(predicate).GetAwaiter().GetResult()); //Assert result.Should().Throw <InvalidOperationException>().WithMessage("Sequence contains more than one element"); }
public async Task SingleAsyncReturnsObject() { // Arrange var singleDummy = new Dummy { Id = Guid.NewGuid().ToString(), Name = "John" }; var dummies = new List <Dummy> { new Dummy { Id = Guid.NewGuid().ToString(), Name = "Nick" }, singleDummy }; Expression <Func <Dummy, bool> > predicate = x => x.Name == "John"; var dataSource = dummies.AsQueryable(); var expected = dataSource.Where(predicate); MockHelpers.ResponseSetup(expected, dataSource, ref _mockDocumentClient); var entityStore = new CosmosStore <Dummy>(new CosmonautClient(_mockDocumentClient.Object), "databaseName"); // Act var result = await entityStore.Query().SingleAsync(predicate); //Assert result.Should().BeEquivalentTo(singleDummy); }
public async Task FirstAsyncReturnsObject() { // Arrange var firstDummy = new Dummy { Id = Guid.NewGuid().ToString(), Name = "Nick" }; var dummies = new List <Dummy> { firstDummy, new Dummy { Id = Guid.NewGuid().ToString(), Name = "John" } }; Expression <Func <Dummy, bool> > predicate = t => true; var dataSource = dummies.AsQueryable(); var expected = dataSource.Where(predicate); var entityStore = MockHelpers.ResponseSetup(expected, dataSource, ref _mockDocumentClient); // Act var result = await entityStore.Query().FirstAsync(predicate); //Assert result.Should().BeEquivalentTo(firstDummy); }
public async Task FirstOrDefaultAsyncWithNoItemsReturnsNull() { // Arrange var dummies = new List <Dummy>(); Expression <Func <Dummy, bool> > predicate = x => true; var dataSource = dummies.AsQueryable(); var expected = dataSource.Where(predicate); var entityStore = MockHelpers.ResponseSetup(expected, dataSource, ref _mockDocumentClient); // Act var result = await entityStore.Query().FirstOrDefaultAsync(predicate); //Assert result.Should().BeNull(); }
public void FirstAsyncWithNoItemsThrowsException() { // Arrange var dummies = new List <Dummy>(); Expression <Func <Dummy, bool> > predicate = x => true; var dataSource = dummies.AsQueryable(); var expected = dataSource.Where(predicate); var entityStore = MockHelpers.ResponseSetup(expected, dataSource, ref _mockDocumentClient); // Act var result = new Action(() => entityStore.Query().FirstAsync(predicate).GetAwaiter().GetResult()); //Assert result.Should().Throw <InvalidOperationException>().WithMessage("Sequence contains no elements"); }