public void TransferMongoToFdoAction_NoChangedData_DateModifiedUnchanged()
        {
            // Setup
            TestEnvironment.CopyFwProjectTo(testProjectCode, _lDSettings.WebWorkDirectory);
            _lfProject.IsInitialClone = true;
            _transferFdoToMongo.Run(_lfProject);

            // Exercise
            var transferMongoToFdo = new TransferMongoToFdoAction(_env.Settings, _env.Logger,
                _mongoConnection, _recordFactory);
            transferMongoToFdo.Run(_lfProject);

            // Verify
            var lfcache = _lfProject.FieldWorksProject.Cache;
            var lfFdoEntry = lfcache.ServiceLocator.GetObject(_testEntryGuid) as ILexEntry;
            Assert.That(lfFdoEntry.DateModified.ToUniversalTime(),
                Is.EqualTo(DateTime.Parse("2016-02-25 03:51:29.404")));
        }
Esempio n. 2
0
        public void Setup()
        {
            _env = new TestEnvironment(resetLfProjectsDuringCleanup: false);
            _conn = MainClass.Container.Resolve<IMongoConnection>() as MongoConnectionDouble;
            if (_conn == null)
                throw new AssertionException("FDO tests need a mock MongoConnection that stores data in order to work.");
            _recordFactory = MainClass.Container.Resolve<MongoProjectRecordFactory>() as MongoProjectRecordFactoryDouble;
            if (_recordFactory == null)
                throw new AssertionException("Mongo->Fdo roundtrip tests need a mock MongoProjectRecordFactory in order to work.");

            _lfProj = FdoTestFixture.lfProj;
            _cache = _lfProj.FieldWorksProject.Cache;
            _wsEn = _cache.WritingSystemFactory.GetWsFromStr("en");
            _undoHelper = new UndoableUnitOfWorkHelper(_cache.ActionHandlerAccessor, "undo", "redo");
            _undoHelper.RollBack = true;

            sutMongoToFdo = new TransferMongoToFdoAction(
                _env.Settings,
                _env.Logger,
                _conn,
                _recordFactory
            );

            sutFdoToMongo = new TransferFdoToMongoAction(
                _env.Settings,
                _env.Logger,
                _conn
            );

            var convertCustomField = new ConvertFdoToMongoCustomField(_cache, _env.Logger);
            _listConverters = new Dictionary<string, ConvertFdoToMongoOptionList>();
            foreach (KeyValuePair<string, ICmPossibilityList> pair in convertCustomField.GetCustomFieldParentLists())
            {
                string listCode = pair.Key;
                ICmPossibilityList parentList = pair.Value;
                _listConverters[listCode] = ConvertOptionListFromFdo(_lfProj, listCode, parentList);
            }
        }