The end-to-end tests from https://github.com/sillsdev/LfMerge/pull/342 use the new ReassembleFwdataFile API in LfMergeBridge to create an .fwdata file from the test project, then let liblcm make any relevant changes to the FieldWorks project. Currently, SynchronizeActionTests uses a project called testlangproj-modified whose changes were made ahead of time and checked into the Git repo. This makes the tests less flexible because writing new tests exercising different parts of the system would involve creating new Mercurial commits with FieldWorks, and it would become hard to keep track of which modified version of testlangproj went with which test.
We should refactor SynchronizeActionTests to use the approach from #342 of making an .fwdata file then letting liblcm modify it. Then the expected changes will be visible right there in the tests themselves, and it will be easier to create new tests testing things like custom fields.
The end-to-end tests from https://github.com/sillsdev/LfMerge/pull/342 use the new ReassembleFwdataFile API in LfMergeBridge to create an .fwdata file from the test project, then let liblcm make any relevant changes to the FieldWorks project. Currently, SynchronizeActionTests uses a project called
testlangproj-modified
whose changes were made ahead of time and checked into the Git repo. This makes the tests less flexible because writing new tests exercising different parts of the system would involve creating new Mercurial commits with FieldWorks, and it would become hard to keep track of which modified version oftestlangproj
went with which test.We should refactor SynchronizeActionTests to use the approach from #342 of making an .fwdata file then letting liblcm modify it. Then the expected changes will be visible right there in the tests themselves, and it will be easier to create new tests testing things like custom fields.