1. 28 Nov, 2019 10 commits
    • Jérome Perrin's avatar
      testXHTML: test portal types also from tools · 56e16adc
      Jérome Perrin authored
      Some portal types such as Business Template were not tested by testXHTML
      because this tests started by modules and recursively tests views based
      on allowed content types. Because of this approach, types that are not
      created in a module but in a tool were never tested.
      
      With unittest, the only way to dynamically add test methods to a class
      is to generate a test class in test_suite function. At this stage, the
      ERP5 site is not created yet, so the test had to introspects business
      templates XML.
      
      This now uses a slightly different approach, instead of finding modules
      and chain of allowed content types from business template XML, we only
      use business template to introspect the list of actions.
      The lookup of the appropriate containers is no longer done before setup
      by static analysis of business templates XML, but later once the site is
      created, by dynamic analysis of the modules and allowed content types on
      the running ERP5 site during the test method.
      If we don't find a chain of portal types, we create the test document in
      portal_trash, a tool without filter of content types.
      
      This way, we can test all views of all portal types. This revealed a few
      problems:
       - we need developer role to create components in portal_components, for
      this we add developer role to the current user.
       - Delivery Cell portal type looks not used, there are no container
      accepting it. We don't test delivery cell views for this reason.
       - VCS view on business template needs preferences and working copy
      setup. We just mark this test as expected failure for now.
       - Solver Decision has a form conditionnaly displayed when there's a
      relation to a solver, but this test does not evaluate action conditions
      and does not allow to call a script (that would made it possible to
      modify the document so that the condition is true). For now we also
      mark this as expected failure.
      56e16adc
    • Jérome Perrin's avatar
      immobilisation: remove views from Delivery Cell · 439745de
      Jérome Perrin authored
      Delivery Cell is not really used these days and cannot be created in
      testXHTML, so drop these useless views.
      
      For reference, the same views still exists on all other movements portal
      types, so we don't "loose anything important" by removing the views
      here.
      439745de
    • Jérome Perrin's avatar
      budget: mark Budget Transfer view not visible · 36a87f63
      Jérome Perrin authored
      The corresponding form, BudgetTransfer_viewBudgetTransferLine does not
      exist, so mark view as not visible for now so that it's not tested.
      36a87f63
    • Jérome Perrin's avatar
      base: make Geographical Location "View on map" a jump action · d095b939
      Jérome Perrin authored
      This redirects to another site, so it is not really a view action.
      
      This also confuses testXHTML.
      d095b939
    • Jérome Perrin's avatar
      8ceb8452
    • Jérome Perrin's avatar
      core: support non initialized cache when viewing cache statistics · d88ec10f
      Jérome Perrin authored
      Maybe what's missing is an interaction to update cache internals with
      updateCache when a cache is added, but that's enough to make TestXHTML
      pass now.
      d88ec10f
    • Jérome Perrin's avatar
      ERP5: fix propertysheets for IdGenerator · fc1494d4
      Jérome Perrin authored
      DublinCore was missing, so getCompactTitle was causing AttributeError
      _baseGetTranslatedTitle
      fc1494d4
    • Jérome Perrin's avatar
      core: Workaround invalid html on AlarmTool_viewAlarmList · 1f51b19c
      Jérome Perrin authored
      When listboxs has an editable field, but the field is non editable, it
      produces a markup like:
        <a href="link to the line"><EditableField/></a>
      This is fine for most fields, but some editable fields are rendered as
      an <input> even if they are not editable - this is the case for
      CheckBoxField.
      To prevent rendering <a><input></a> which is not valid HTML, configure
      the enabled field as non-editable on alarm list view, with this change
      listbox treats the field as an editable field and just render the field
      as <EditableField/> without the <a>.
      To keep the same visual appearance of having a disabled checkbox field,
      make this field disabled with extra.
      1f51b19c
    • Jérome Perrin's avatar
    • Jérome Perrin's avatar
      core/forge: fix scripts "Repository History" actions · d4f6a2cb
      Jérome Perrin authored
      The action was in erp5_core, but the form in erp5_forge. Move the action
      in erp5_forge.
      
      The listbox list method was raising error because it was using catalog
      with unsupported installation_state=. Change to use contentValues
      instead.
      
      This listbox had "Listbox" as a title, use "History" instead, which
      makes a little more sense in this context.
      d4f6a2cb
  2. 26 Nov, 2019 3 commits
  3. 25 Nov, 2019 5 commits
  4. 22 Nov, 2019 12 commits
  5. 21 Nov, 2019 4 commits
  6. 19 Nov, 2019 1 commit
    • Jérome Perrin's avatar
      Test Suite for Coding Style test · 82206749
      Jérome Perrin authored
      A new test suite to perform static check on business templates using  `CodingStyleTestCase`.
      
      This runs a coding style test for each business template, after installing the business template and its dependencies listed in business template metadata.
      
      ---
      
      In order to start with a test suite with no failure, business templates that does not pass this test today (because they don't install or because pylint issues still needs to be reviewed) are skipped with an ad-hoc  `bt/skip_coding_style_test` in the business template. Note that this file is not created by business template system as it is a temporary measure, business templates must pass pylint and other checks from `CodingStyleTestCase`.
      
      ---
      
      I took the approach of creating one independent test per business template, instead of the approach of creating a site with all business templates like we did in testNamingConventions or testHTML. This appears as another "Coding Style" test, like Performance or Scalability tests.
      
      The idea behind this was that if we extend our business template checks ( for example when we translate the [ERP5 Module Creation Guidelines](https://www.erp5.com/documentation/developer/guideline/module) to some scripts we can run on a business template ), we can check that each business template contain what it should contain and not just that the global result is OK.
      
      
      
      /reviewed-on !629
      82206749
  7. 18 Nov, 2019 5 commits