private static void CombineHelper(ImportController_Accessor <Client, ImportAppStatusRow> controller, out Client sharedClient, out ImportAppStatusRow newImportRow, out IEnumerable <Joinedrecord <Client, ImportAppStatusRow> > result) { var rnd = new Random(); sharedClient = new Client() { Id = 1, FirstName = "Moshe" }; var dbOnlyClient = new Client() { Id = 2, FirstName = "asdf" }; var sharedRow = new ImportAppStatusRow() { Id = 1 }; newImportRow = new ImportAppStatusRow() { Id = 3 }; //new var dbClients = new List <Client>() { sharedClient, dbOnlyClient }; Moq.Mock <IRepository <Client> > repository = new Moq.Mock <IRepository <Client> >(); repository.SetupGet(f => f.Select).Returns(dbClients.AsQueryable()); controller.Repository = repository.Object; var chunk = new List <ImportAppStatusRow>() { sharedRow, newImportRow }; result = controller.Combine(chunk, repository.Object); }
public void CombineTest() { var controller = new ImportController_Accessor <Client, ImportAppStatusRow>(); Client sharedClient; ImportAppStatusRow newImportRow; IEnumerable <Joinedrecord <Client, ImportAppStatusRow> > result; CombineHelper(controller, out sharedClient, out newImportRow, out result); Assert.IsTrue(result.Count() == 2); var update = result.Single(f => f.Target == sharedClient); Assert.IsTrue(update.Action == ImportActionEnum.Update); var insert = result.Single(f => f.Source == newImportRow); Assert.IsTrue(insert.Action == ImportActionEnum.Insert); }