Some things are going to be very hard to test, especially those things that depend on the idiosyncracies and complex interactions of different kinds of mods. But that's a relatively small part of the app.
At the moment, the real reason this hasn't been done is because the code structure is making it difficult. With some or all of #26 out of the way, we should be able to begin to write useful tests.
Some areas that are in particularly dire need of concrete specs are:
- The rules for detection/reset of plugins per NPC
- Detection of ITM, ITPO and whether records change face or behavior
- NPC filters in the UI, and "unusual" interactions like forcing an NPC to be visible when coming from a build warning
- Many of the "little" interactions, like exactly which parts of the screen are supposed to update, and how, when some other property is changed. Example is what updates (or doesn't update) when an NPC is selected, when a mugshot is highlighted, vs. mugshot double clicked, etc.
- Everything that possibly can be tested about the Build process. Mutagen interactions may be the most complicated, but some things like file copying and even BSA creation should be pretty simple after a little refactoring.
Some things are going to be very hard to test, especially those things that depend on the idiosyncracies and complex interactions of different kinds of mods. But that's a relatively small part of the app.
At the moment, the real reason this hasn't been done is because the code structure is making it difficult. With some or all of #26 out of the way, we should be able to begin to write useful tests.
Some areas that are in particularly dire need of concrete specs are: