public void ShouldUpdateData() { // Arrange var testRepo = new MongoDbSslRepository(_connectionString, _dbName); IProcessManagerData data = new TestDataSsl { CorrelationId = _correlationId, Name = "TestData" }; var collection = testRepo.MongoDatabase.GetCollection <MongoDbSslData <IProcessManagerData> >(_testCollectionName); var versionData = new MongoDbSslData <IProcessManagerData> { Data = data }; collection.InsertOne(versionData); ((TestDataSsl)data).Name = "TestDataUpdated"; IProcessManagerFinder processManagerFinder = new MongoDbSslProcessManagerFinder(_connectionString, _dbName); // Act processManagerFinder.UpdateData(versionData); // Assert var collection2 = testRepo.MongoDatabase.GetCollection <MongoDbSslData <TestDataSsl> >(_testCollectionName); var filter = Builders <MongoDbSslData <TestDataSsl> > .Filter.Eq(_ => _.Data.CorrelationId, _correlationId); var updatedData = collection2.Find(filter).First(); Assert.Equal("TestDataUpdated", updatedData.Data.Name); Assert.Equal(1, updatedData.Version); }
public void ShouldUpsertData() { // Arrange IProcessManagerData data1 = new TestDataSsl { CorrelationId = _correlationId, Name = "TestData1" }; IProcessManagerData data2 = new TestDataSsl { CorrelationId = _correlationId, Name = "TestData2" }; IProcessManagerFinder processManagerFinder = new MongoDbSslProcessManagerFinder(_connectionString, _dbName); // Act processManagerFinder.InsertData(data1); processManagerFinder.InsertData(data2); // Assert var testRepo = new MongoDbSslRepository(_connectionString, _dbName); var collection = testRepo.MongoDatabase.GetCollection <MongoDbSslData <TestDataSsl> >(_testCollectionName); var filter = Builders <MongoDbSslData <TestDataSsl> > .Filter.Eq(_ => _.Data.CorrelationId, _correlationId); MongoDbSslData <TestDataSsl> insertedData = collection.Find(filter).First(); Assert.Equal("TestData2", insertedData.Data.Name); }