wiki:TestSuite

Lazy Search Plugin Test Suite

The plugin has now become quite complex and there are a lot of combinations of user action and database contents that mean that there can be problems in the plugin that are difficult to notice during normal operation.

This page therefore exists so I can list the tests that I've performed with the plugin so that I can re-run them in a repeatable way later for each major release.

Basic Plugin Navigation

  1. Enter the plugin with the SEARCH key (configure the SEARCH key to behave this way first);
  2. Press LEFT and ensure it leaves the mode;
  3. Enter the plugin through Plugins->Lazy Search Music->;
  4. Press LEFT and ensure it leaves the mode;
  5. Perform an artist search;
  6. Press LEFT and ensure that, after deleting all characters, it pops back out of the mode;
  7. Perform an artist search;
  8. Press RIGHT on a result, then LEFT and LEFT until all characters are deleted, the LEFT and ensure it leaves the search mode.
  9. Perform a keyword search;
  10. Press RIGHT on a result, then LEFT and LEFT until all characters are deleted, the LEFT and ensure it leaves the search mode.
2.2.22.33.0b1

Enable/Disable? Keyword Search

  1. Disable keyword searches (turn off all category types in plugin settings) - a re-lazification should be triggered by the change in preferences;
  2. Press SEARCH and ensure the category menu does not include keyword;
  3. With keyword searches still disabled, set the SEARCH key to start a keyword search and press it;
  4. Ensure that the lazy search category menu is displayed;
  5. With keyword searches still disabled set the SEARCH key to start an artist search and press it;
  6. Ensure that the artist search is begun, as expected;
  7. Re-enable keyword searches (turn back on all category types in plugin settings) - a re-lazification should be triggered by the change in preferences.
2.2.23.0b1

Still Scanning Warning Display

  • Monitor the log during the following tests;
  • Press SEARCH and start an artist search whilst the standard scan is underway; a warning should briefly be shown on the player;
  • Press SEARCH and start an artist search whilst the lazification is underway; a warning should briefly be shown on the player;
  • Wait until the scan/lazification is finished and press SEARCH and begin an artist search; no warning should be shown on the player.
2.2.23.0b1

Basic Artist Lazy Search

  • Search for artist with preferences set to only search beginning of words:
    • Search for something that should be found;
    • Search for something that should not be found.
  • Search for artist with preferences set to find anywhere within words:
    • Search for something that should be found;
    • Search for something that should not be found.
2.2.22.33.0b1

Basic Album Lazy Search

  • Search for album with preferences set to only search beginning of words:
    • Search for something that should be found;
    • Search for something that should not be found.
  • Search for album with preferences set to find anywhere within words:
    • Search for something that should be found;
    • Search for something that should not be found.
2.2.23.0b1

Basic Track Lazy Search

  • Search for track with preferences set to only search beginning of words:
    • Search for something that should be found;
    • Search for something that should not be found.
  • Search for track with preferences set to find anywhere within words:
    • Search for something that should be found;
    • Search for something that should not be found.
2.2.23.0b1

Basic Genre Lazy Search

  • Search for genre with preferences set to only search beginning of words:
    • Search for something that should be found;
    • Search for something that should not be found.
  • Search for genre with preferences set to find anywhere within words:
    • Search for something that should be found;
    • Search for something that should not be found.
2.2.23.0b1

Correct adherence to user artist 'role' preferences (composer, band etc)

  • Check correct artists returned for the following:
    • Main lazy artist search;
    • Pressing PLAY/ADD/INSERT for an artist in lazy search results.
  • Check keyword encoding only includes artists in the correct roles.
2.2.23.0b1

Keyword searching and ALBUMARTISTS behaviour

  1. Locate a track that has both ARTIST and ALBUMARTIST
  2. With "include ALBUMARTIST" preference set to "no", keywordsearch for that track; ensure that only the ARTIST artist is returned;
  3. With "include ALBUMARTIST" preference set to "yes", keywordsearch for that track; ensure that both the ARTIST and ALBUMARTIST artists are returned.
2.2.23.0b1

Change SEARCH button behaviour

  1. Set to standard search and ensure SEARCH goes to the normal search menu;
  2. Set to lazy search and ensure SEARCH goes to the lazy search category menu;
  3. Set to artist search and ensure SEARCH goes to the lazy artist search. Press LEFT and ensure the lazy search category menu appears;
  4. Set to album search and ensure SEARCH goes to the lazy album search. Press LEFT and ensure the lazy search category menu appears;
  5. Set to genre search and ensure SEARCH goes to the lazy genre search. Press LEFT and ensure the lazy search category menu appears;
  6. Set to song search and ensure SEARCH goes to the lazy song search. Press LEFT and ensure the lazy search category menu appears;
  7. Set to keyword search and ensure SEARCH goes to the lazy keyword search. Press LEFT and ensure the lazy search category menu appears;
  8. Set to artist search and press SEARCH a number of times. Ensure pressing LEFT only steps back through one category menu.
2.2.23.0b1

Automatically relazify database when plugin version has changed

  • Restart SqueezeCenter and ensure that lazification has nothing to do (observe the log);
  • Ensure the database is full relazified:
    • Stop SqueezeCenter and change the revision number in the  SlimDevices:SlimServerPreferencesFile under the plugin-lazysearch2-revision preference;
    • Restart SqueezeCenter and ensure that the database is fully re-lazified (observe the log);
    • Wait for re-lazification to finish then try a search and ensure it works;
    • Restart SqueezeCenter and ensure that it has nothing to do (observe the log).
  • Press the re-lazify database button on the plugin preferences page and ensure that it re-lazifies the whole database.
2.2.23.0b1

ALL on an artist name

  1. Perform a lazy search for an artist;
  2. Press PLAY and ensure all tracks for that artist are added to the playlist and played.
2.2.22.33.0b1

ALL on an album name

  1. Perform a lazy search for an album;
  2. Press PLAY and ensure all tracks for that album are added to the playlist and played.
2.2.23.0b1

ALL on a genre name

  1. Perform a lazy search for a genre;
  2. Press PLAY and ensure all tracks for that genre are added to the playlist and played.
2.2.23.0b1

ALL on a track name

  1. Perform a lazy search for a track;
  2. Press PLAY and ensure that track is added to the playlist and played.
2.2.23.0b1

Browse right into artist

  1. Perform a lazy search for an artist;
  2. Press RIGHT and ensure all albums for that artist are shown.
2.2.22.33.0b1

Browse right into album

  1. Perform a lazy search for an album;
  2. Press RIGHT and ensure all tracks for that album are shown and that their titles are formatted as track titles (they have a track number).
2.2.22.33.0b1

Browse right into genre

  1. Perform a lazy search for a genre;
  2. Press RIGHT and ensure all artists having tracks with that genre are shown.
2.2.22.33.0b1

Browse right into track

  1. Perform a lazy search for a track;
  2. Press RIGHT and ensure normal track information is shown.
2.2.22.33.0b1

Correct defaulting

  1. Stop SqueezeCenter;
  2. Edit the  SlimDevices:SlimServerPreferencesFile file and remove all lazysearch2 entries;
  3. Restart SqueezeCenter and check all Server Settings->Lazy Search Music settings for lazy search look reasonable;
  4. Check the preferences file and ensure that preferences have been saved.
2.2.23.0b1

Forcing a search with a short entry (non-keyword)

  1. Check the minimum track search length is 4 (the default);
  2. Enter three characters of a song search;
  3. Press SEARCH - a search should be performed;
  4. Press SEARCH again - the search mode should be exited;
  5. Enter 1 character of a song search;
  6. Press SEARCH - the search mode should be exited.
2.2.22.33.0b1

Forcing a search with a short entry (keyword)

  1. Check the minimum keyword search length is 4 (the default);
  2. Enter a search of <3chars> and press SEARCH - the correct results should be returned;
  3. Press SEARCH again - the search mode should be left;
  4. Enter a search of <3chars>,<3chars> and press SEARCH - the correct results should be returned;
2.2.22.33.0b1

ADD/INSERT on returned items

(note, PLAY is covered earlier)

  1. Note what is currently in the player playlist;
  2. Lazy search for an album and press ADD - ensure the album tracks are added to the end;
  3. Lazy search for another album and press INSERT - ensure the new album's tracks are added after the current playlist position (not at end);
  4. Lazy search for an album that returns multiple hits and press PLAY on the ALL entry. Ensure that all entries returned are played.
2.2.23.0b1

Space handling in keyword searches

  • Search for a name containing a space and ensure it correctly constraints the search.
2.2.23.0b1

Keyword searches

  1. Keyword search for something that will match an artist;
  2. Browse into the albums and into one particular album; all tracks on that album should be listed;
  3. Keyword search for something that will match an album;
  4. Ensure that album is listed under the correct returned artist;
  5. Browse into that album and ensure that all tracks are listed;
  6. Keyword search for something that will match a track;
  7. Browse into the artist and album containing that track and only that one track should be listed.
2.2.23.0b1

Character deletion

  1. Enter a five character search term;
  2. Press LEFT to delete the last character;
  3. Hold LEFT and all characters should be deleted;
  4. Press LEFT again and the search mode should be exited.
2.2.23.0b1

Kicking off lazification

  1. Perform a clear-and-rescan; the database lazification should occur automatically when the scan has finished;
  2. Perform a search for new and changed music; the database lazification should occur automatically when the scan has finished.
2.2.23.0b1

MusicIP Mixer

  1. Perform a lazy search for artist; ensure M is shown for appropriate results and not for all entry;
  2. Perform a lazy search for album; ensure M is shown for appropriate results and not for all entry;
  3. Perform a lazy search for genre; ensure M is shown for appropriate results;
  4. Perform a lazy search for track; ensure M is shown for appropriate results and not for all entry;
  5. Perform a lazy search for artist; create a mix and play it;
  6. Perform a lazy search for album; create a mix and play it;
  7. Perform a lazy search for genre; create a mix and play it;
  8. Perform a lazy search for track; create a mix and play it;
  9. Perform a keyword search; ensure M is shown for correct levels (artist, album and track);
  10. Perform a keyword search; create a mix for the artist level and play it;
  11. Perform a keyword search; create a mix for the album level and play it;
  12. Perform a keyword search; create a mix for the track level and play it;
2.33.0b1