Esempio n. 1
0
def test_removes_track_menu_item_when_closing_an_project(driver):
    window_ = show_main_window()
    project = build.album(tracks=[build.track(track_title="Chevere!"), build.track(track_title="Zumbar")])
    window_.display_project_screen(project)

    window_.display_startup_screen()

    project = build.album()
    window_.display_project_screen(project)

    driver.does_not_show_menu_item(title="Chevere!", track_number=1)
    driver.does_not_show_menu_item(title="Zumbar", track_number=2)
Esempio n. 2
0
def test_removes_track_menu_item_when_closing_an_project(driver):
    window_ = show_main_window()
    project = build.album(tracks=[
        build.track(track_title="Chevere!"),
        build.track(track_title="Zumbar")
    ])
    window_.display_project_screen(project)

    window_.display_startup_screen()

    project = build.album()
    window_.display_project_screen(project)

    driver.does_not_show_menu_item(title="Chevere!", track_number=1)
    driver.does_not_show_menu_item(title="Zumbar", track_number=2)
Esempio n. 3
0
def test_moves_track_of_album():
    chevere = build.track(track_title="Chevere!")
    salsa_coltrane = build.track(track_title="Salsa Coltrane")
    honeycomb = build.album(tracks=[salsa_coltrane, chevere])

    director.move_track_of(honeycomb)(0, 1)
    assert_that(honeycomb.tracks, contains(chevere, salsa_coltrane), "reordered tracks")
Esempio n. 4
0
def test_adds_track_menu_item_when_adding_a_track_to_the_project(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))

    driver.shows_track_menu_item(title="Chevere!", track_number=1)
Esempio n. 5
0
def test_navigates_to_project_edition_page_item_when_menu_item_is_clicked(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)

    driver.navigate_to_project_page()
    project_screen(driver).is_showing_project_edition_page()
Esempio n. 6
0
def test_displays_track_menu_item_when_loading_an_existing_project(driver):
    window_ = show_main_window()
    project = build.album(tracks=[build.track(track_title="Chevere!"), build.track(track_title="Zumbar")])
    window_.display_project_screen(project)

    driver.shows_track_menu_item(title="Chevere!", track_number=1)
    driver.shows_track_menu_item(title="Zumbar", track_number=2)
Esempio n. 7
0
def test_adds_selected_tracks_to_album_in_order(track_catalog):
    tracks = [track_catalog.add_track(filename) for filename in ("first.mp3", "second.mp3", "third.mp3")]

    album = build.album()
    director.add_tracks(album, "first.mp3", "second.mp3", "third.mp3", from_catalog=track_catalog)

    assert_that(album.tracks, contains(*tracks), "tracks added to album")
Esempio n. 8
0
def test_cleans_superflous_isnis_before_tagging(mp3):
    album = build.album(release_name="Album Title",
                        lead_performer="Album Artist",
                        isnis={
                            "Album Artist": "0000000123456789",
                            "Album Lyricist": "9876543210000000",
                            "Album Composer": "1234567890000000",
                            "Album Publisher": "0000000987654321",
                            "Previous Album Artist": "1234567890000000",
                            "Previous Album Lyricist": "0000000987654321"
                        })
    track = build.track(filename=mp3(),
                        track_title="Track Title",
                        lyricist=["Album Lyricist"],
                        composer=["Album Composer"],
                        publisher=["Album Publisher"],
                        album=album)

    tagging.save_track(track)

    track = tagging.load_track(track.filename)
    assert_that(
        track.metadata,
        has_entries(release_name="Album Title",
                    lead_performer="Album Artist",
                    isnis={
                        "Album Artist": "0000000123456789",
                        "Album Lyricist": "9876543210000000",
                        "Album Composer": "1234567890000000",
                        "Album Publisher": "0000000987654321"
                    },
                    track_title="Track Title"), "metadata tags")
Esempio n. 9
0
def test_uses_first_front_cover_or_first_image_as_main_cover():
    album = build.album()
    assert_that(album.main_cover, is_(None))
    album.add_image("image/jepg", "back cover image")
    assert_that(album.main_cover, has_property("data", "back cover image"))
    album.add_front_cover("image/jpeg", "front cover image")
    assert_that(album.main_cover, has_property("data", "front cover image"))
Esempio n. 10
0
def test_round_trips_album_metadata_and_tracks_to_disk(project_file, mp3):
    album_file = project_file("album.tgit")
    original_tracks = (build.track(mp3(), track_title=title)
                       for title in ("1st", "2nd", "3rd"))

    original_album = build.album(filename=album_file,
                                 version="1.11.0",
                                 type=Album.Type.FLAC,
                                 lead_performer="Artist",
                                 images=[sample_front_cover],
                                 tracks=original_tracks)

    local_project.save_project(
        original_album, track_name=lambda track: track.track_title + ".mp3")
    delete_from_disk(*original_tracks)
    stored_album = local_project.load_project(album_file)

    assert_that(stored_album.type, equal_to(Album.Type.FLAC), "type")
    assert_that(stored_album.lead_performer, equal_to("Artist"),
                "lead performer")
    assert_that(stored_album.images, contains(Image(*sample_front_cover)),
                "images")
    assert_that(
        stored_album.tracks,
        contains(
            has_filename(project_file(TRACKS_FOLDER_NAME, "1st.mp3")),
            has_filename(project_file(TRACKS_FOLDER_NAME, "2nd.mp3")),
            has_filename(project_file(TRACKS_FOLDER_NAME, "3rd.mp3")),
        ), "tracks")
Esempio n. 11
0
def test_round_trips_chain_of_title_to_disk(project_file, mp3):
    album_file = project_file("album.tgit")
    original_filename = mp3()
    chain_of_title = make_chain_of_title(
        authors_composers=[joel_miller(), john_roney()],
        publishers=[effendi_records()])
    original_track = make_track(original_filename,
                                chain_of_title=chain_of_title,
                                track_title="Chevere!")

    original_album = build.album(filename=album_file,
                                 version="2.4.0",
                                 type=Album.Type.FLAC,
                                 lead_performer="Joel Miller",
                                 tracks=[original_track])

    local_project.save_project(
        original_album,
        track_name=lambda current_track: current_track.track_title + ".mp3")
    os.remove(original_filename)
    track = local_project.load_project(album_file).tracks[0]

    assert_that(track.chain_of_title.contributors,
                has_author_composer("Joel Miller", joel_miller()),
                "The contributors")
    assert_that(track.chain_of_title.contributors,
                has_author_composer("John Roney", john_roney()),
                "The contributors")
    assert_that(track.chain_of_title.contributors,
                has_publisher("Effendi Records", effendi_records()),
                "The contributors")
Esempio n. 12
0
def test_updates_album_main_artist_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(compilation=True,
                                      lead_performer="Artist")

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer, equal_to(""), "lead performer")
Esempio n. 13
0
def test_updates_album_metadata():
    album = build.album()
    director.update_album_from(album)(release_name="Title",
                                      compilation=False,
                                      lead_performer="Artist",
                                      guestPerformers=[("Guitar", "Guitarist")
                                                       ],
                                      label_name="Label",
                                      catalogNumber="XXX123456789",
                                      upc="123456789999",
                                      comments="Comments\n...",
                                      releaseTime="2009-01-01",
                                      recording_time="2008-09-15",
                                      recordingStudios="Studios",
                                      music_producer="Producer",
                                      mixer="Engineer",
                                      primary_style="Style")

    assert_that(album.release_name, equal_to("Title"), "release name")
    assert_that(album.compilation, is_(False), "compilation")
    assert_that(album.lead_performer, equal_to("Artist"), "lead performer")
    assert_that(album.guestPerformers, equal_to([("Guitar", "Guitarist")]),
                "guest performers")
    assert_that(album.label_name, equal_to("Label"), "label name")
    assert_that(album.catalogNumber, equal_to("XXX123456789"),
                "catalog number")
    assert_that(album.upc, equal_to("123456789999"), "upc")
    assert_that(album.comments, equal_to("Comments\n..."), "comments")
    assert_that(album.releaseTime, equal_to("2009-01-01"), "release time")
    assert_that(album.recording_time, equal_to("2008-09-15"), "recording time")
    assert_that(album.recordingStudios, equal_to("Studios"),
                "recording studios")
    assert_that(album.music_producer, equal_to("Producer"), "producer")
    assert_that(album.mixer, equal_to("Engineer"), "mixer")
    assert_that(album.primary_style, equal_to("Style"), "primary style")
Esempio n. 14
0
def test_updates_tracks_main_artist_when_album_is_not_a_compilation():
    album = build.album(tracks=[build.track(), build.track(), build.track()])
    director.update_album_from(album)(lead_performer="Album Artist")

    for track in album.tracks:
        assert_that(track.lead_performer, equal_to("Album Artist"),
                    "track artist")
Esempio n. 15
0
def test_adds_track_menu_item_when_adding_a_track_to_the_project(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))

    driver.shows_track_menu_item(title="Chevere!", track_number=1)
Esempio n. 16
0
def test_round_trips_track_and_album_metadata(mp3):
    album = build.album(
        release_name="Album Title",
        lead_performer="Album Artist",
        isnis={"Album Artist": "0000000123456789"},
        ipis={"Album Lyricist": "9876543210000000"},
        images=[build.image(mime="image/jpeg", data=b"<image data>")])
    track = build.track(filename=mp3(),
                        track_title="Track Title",
                        album=album,
                        lyricist=["Album Lyricist"])

    tagging.save_track(track)

    track = tagging.load_track(track.filename)
    assert_that(
        track.metadata,
        has_entries(release_name="Album Title",
                    lead_performer="Album Artist",
                    isnis={"Album Artist": "0000000123456789"},
                    ipis={"Album Lyricist": "9876543210000000"},
                    track_title="Track Title"), "metadata tags")
    assert_that(track.metadata.images,
                contains(Image(mime="image/jpeg", data=b"<image data>")),
                "attached pictures")
Esempio n. 17
0
def test_ignores_invalid_tracks(track_catalog):
    valid_track = track_catalog.add_track("valid.mp3")

    album = build.album()
    director.add_tracks(album, "invalid.mp3", "valid.mp3", from_catalog=track_catalog)

    assert_that(album.tracks, contains(valid_track), "valid tracks in album")
Esempio n. 18
0
def test_contained_tracks_have_lead_performer_of_album_when_album_is_not_a_compilation(
):
    track = build.track(lead_performer="???")
    album = build.album(lead_performer="Joel Miller")

    album.add_track(track)

    assert_that(track.lead_performer, "Joel Miller", "track lead performer")
Esempio n. 19
0
def test_updates_track_menu_item_when_track_name_changes(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))
    project.tracks[0].track_title = "Zumbar"

    driver.shows_track_menu_item(title="Zumbar", track_number=1)
Esempio n. 20
0
def test_updates_album_main_artist_region_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(compilation=True,
                                      lead_performer_region=("CA", "MTL"))

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer_region, is_(None),
                "lead performer region")
Esempio n. 21
0
def test_navigates_to_project_edition_page_item_when_menu_item_is_clicked(
        driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)

    driver.navigate_to_project_page()
    project_screen(driver).is_showing_project_edition_page()
Esempio n. 22
0
def test_updates_track_menu_item_when_track_name_changes(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))
    project.tracks[0].track_title = "Zumbar"

    driver.shows_track_menu_item(title="Zumbar", track_number=1)
Esempio n. 23
0
def test_moves_track_of_album():
    chevere = build.track(track_title="Chevere!")
    salsa_coltrane = build.track(track_title="Salsa Coltrane")
    honeycomb = build.album(tracks=[salsa_coltrane, chevere])

    director.move_track_of(honeycomb)(0, 1)
    assert_that(honeycomb.tracks, contains(chevere, salsa_coltrane),
                "reordered tracks")
Esempio n. 24
0
def test_updates_album_main_artist_date_of_birth_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(
        compilation=True, lead_performer_date_of_birth="2009-05-06")

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer_date_of_birth, equal_to("2000-01-01"),
                "lead performer date of birth")
Esempio n. 25
0
def test_signals_when_add_files_menu_item_clicked(driver):
    window_ = show_main_window(select_tracks=lambda type_, on_select: on_select("track1." + type_, "track2." + type_))
    project = build.album(of_type=Album.Type.FLAC)
    add_files_signal = ValueMatcherProbe("add files", contains(project, ("track1.flac", "track2.flac")))
    window_.on_add_files(lambda _, *files: add_files_signal.received([project, files]))
    window_.display_project_screen(project)

    driver.add_tracks_to_project(from_menu=True)
    driver.check(add_files_signal)
Esempio n. 26
0
def test_contained_tracks_have_various_lead_performers_when_album_is_a_compilation(
):
    track = build.track(lead_performer="Joel Miller")
    compilation = build.album(lead_performer="Various Artists",
                              compilation=True)

    compilation.add_track(track)

    assert_that(track.lead_performer, "Joel Miller", "track lead performer")
Esempio n. 27
0
def test_removes_track_menu_item_when_removing_a_track_from_the_project(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)

    project.add_track(build.track(track_title="Chevere!"))
    project.remove_track(0)

    driver.does_not_show_menu_item(title="Chevere!", track_number=1)
Esempio n. 28
0
def test_signals_when_add_folder_menu_item_clicked(driver):
    window_ = show_main_window(select_tracks_in_folder=lambda type_, on_select: on_select("track1." + type_,
                                                                                          "track2." + type_))
    projet = build.album()
    add_folder_signal = ValueMatcherProbe("add folder", contains(projet, ("track1.flac", "track2.flac")))
    window_.on_add_files(lambda current_projet, *file: add_folder_signal.received([current_projet, file]))
    window_.display_project_screen(projet)

    driver.add_tracks_in_folder()
    driver.check(add_folder_signal)
Esempio n. 29
0
def test_ignores_invalid_tracks(track_catalog):
    valid_track = track_catalog.add_track("valid.mp3")

    album = build.album()
    director.add_tracks(album,
                        "invalid.mp3",
                        "valid.mp3",
                        from_catalog=track_catalog)

    assert_that(album.tracks, contains(valid_track), "valid tracks in album")
Esempio n. 30
0
def test_removes_track_menu_item_when_removing_a_track_from_the_project(
        driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)

    project.add_track(build.track(track_title="Chevere!"))
    project.remove_track(0)

    driver.does_not_show_menu_item(title="Chevere!", track_number=1)
Esempio n. 31
0
def test_signals_when_export_menu_item_clicked(driver):
    window_ = show_main_window(select_export_destination=lambda on_select, name: on_select(name + ".csv"))
    projet = build.album(release_name="Honeycomb")
    export_signal = ValueMatcherProbe("export", contains(projet, "Honeycomb.csv"))
    window_.on_export(
        lambda current_projet, destination: export_signal.received([current_projet, destination]))
    window_.display_project_screen(projet)

    driver.export()
    driver.check(export_signal)
Esempio n. 32
0
def test_displays_track_menu_item_when_loading_an_existing_project(driver):
    window_ = show_main_window()
    project = build.album(tracks=[
        build.track(track_title="Chevere!"),
        build.track(track_title="Zumbar")
    ])
    window_.display_project_screen(project)

    driver.shows_track_menu_item(title="Chevere!", track_number=1)
    driver.shows_track_menu_item(title="Zumbar", track_number=2)
Esempio n. 33
0
def test_signals_when_transmit_to_soproq_menu_item_clicked(driver):
    project = build.album(release_name="Honeycomb")
    transmit_signal = MultiValueMatcherProbe("transmit to soproq", contains(project, "Honeycomb.xlsx"))

    window_ = show_main_window(select_save_as_destination=lambda on_select, name: on_select(name + ".xlsx"),
                               on_transmit_to_soproq=transmit_signal.received)
    window_.display_project_screen(project)

    driver.transmit_to_soproq()
    driver.check(transmit_signal)
Esempio n. 34
0
def test_navigates_to_track_page_when_menu_item_is_clicked(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))
    project.add_track(build.track(track_title="Zumbar"))
    project.add_track(build.track(track_title="Salsa Coltrane"))

    driver.navigate_to_track_page(title="Salsa Coltrane", track_number=3)
    project_screen(driver).is_showing_track_edition_page(3)
Esempio n. 35
0
def test_navigates_to_track_page_when_menu_item_is_clicked(driver):
    window_ = show_main_window()
    project = build.album()
    window_.display_project_screen(project)
    project.add_track(build.track(track_title="Chevere!"))
    project.add_track(build.track(track_title="Zumbar"))
    project.add_track(build.track(track_title="Salsa Coltrane"))

    driver.navigate_to_track_page(title="Salsa Coltrane", track_number=3)
    project_screen(driver).is_showing_track_edition_page(3)
Esempio n. 36
0
def test_adds_version_information_to_tags(mp3):
    track = build.track(filename=mp3(), album=build.album())

    tagging.save_track(track, at_time=NOW)

    track = tagging.load_track(track.filename)
    assert_that(
        track,
        has_properties(tagger='TGiT',
                       tagger_version=tgit.__version__,
                       tagging_time="2014-03-23 20:44:33"))
Esempio n. 37
0
def test_signals_when_export_menu_item_clicked(driver):
    window_ = show_main_window(select_export_destination=lambda on_select,
                               name: on_select(name + ".csv"))
    projet = build.album(release_name="Honeycomb")
    export_signal = ValueMatcherProbe("export",
                                      contains(projet, "Honeycomb.csv"))
    window_.on_export(lambda current_projet, destination: export_signal.
                      received([current_projet, destination]))
    window_.display_project_screen(projet)

    driver.export()
    driver.check(export_signal)
Esempio n. 38
0
def test_signals_when_transmit_to_soproq_menu_item_clicked(driver):
    project = build.album(release_name="Honeycomb")
    transmit_signal = MultiValueMatcherProbe(
        "transmit to soproq", contains(project, "Honeycomb.xlsx"))

    window_ = show_main_window(select_save_as_destination=lambda on_select,
                               name: on_select(name + ".xlsx"),
                               on_transmit_to_soproq=transmit_signal.received)
    window_.display_project_screen(project)

    driver.transmit_to_soproq()
    driver.check(transmit_signal)
Esempio n. 39
0
def test_signals_track_insertion_events():
    album = build.album()
    subscriber = Subscriber()
    tracks = [build.track(), build.track(), build.track()]

    album.track_inserted.subscribe(subscriber)
    for track in tracks:
        album.add_track(track)

    for index, track in enumerate(tracks):
        assert_that(subscriber.events, has_item(event(index, track)),
                    "track {0} insertion event".format(index))
Esempio n. 40
0
def test_signals_when_add_folder_menu_item_clicked(driver):
    window_ = show_main_window(select_tracks_in_folder=lambda type_, on_select:
                               on_select("track1." + type_, "track2." + type_))
    projet = build.album()
    add_folder_signal = ValueMatcherProbe(
        "add folder", contains(projet, ("track1.flac", "track2.flac")))
    window_.on_add_files(lambda current_projet, *file: add_folder_signal.
                         received([current_projet, file]))
    window_.display_project_screen(projet)

    driver.add_tracks_in_folder()
    driver.check(add_folder_signal)
Esempio n. 41
0
def test_does_not_update_track_with_album_lead_performer_when_album_is_a_compilation(
        mp3):
    album = build.album(lead_performer="Various Artists", compilation=True)
    track = build.track(filename=mp3(),
                        lead_performer="Track Artist",
                        album=album)

    tagging.save_track(track)

    track = tagging.load_track(track.filename)
    assert_that(track.lead_performer, equal_to("Track Artist"),
                "lead performer")
Esempio n. 42
0
def test_signals_when_add_files_menu_item_clicked(driver):
    window_ = show_main_window(select_tracks=lambda type_, on_select:
                               on_select("track1." + type_, "track2." + type_))
    project = build.album(of_type=Album.Type.FLAC)
    add_files_signal = ValueMatcherProbe(
        "add files", contains(project, ("track1.flac", "track2.flac")))
    window_.on_add_files(
        lambda _, *files: add_files_signal.received([project, files]))
    window_.display_project_screen(project)

    driver.add_tracks_to_project(from_menu=True)
    driver.check(add_files_signal)
Esempio n. 43
0
def test_closes_main_widget_when_changing_page(driver):
    window_ = show_main_window()
    project = build.album()

    screen = startup_screen(driver).widget()
    window_.display_project_screen(project)
    no_startup_screen(driver).exists()
    screen.is_closed()

    screen = project_screen(driver).widget()
    window_.display_startup_screen()
    no_album_screen(driver).exists()
    screen.is_closed()
Esempio n. 44
0
def test_closes_main_widget_when_changing_page(driver):
    window_ = show_main_window()
    project = build.album()

    screen = startup_screen(driver).widget()
    window_.display_project_screen(project)
    no_startup_screen(driver).exists()
    screen.is_closed()

    screen = project_screen(driver).widget()
    window_.display_startup_screen()
    no_album_screen(driver).exists()
    screen.is_closed()
Esempio n. 45
0
def test_allows_removing_tracks():
    album = build.album(tracks=[
        build.track(track_title="Track 1"),
        build.track(track_title="Track 2"),
        build.track(track_title="Track 3")
    ])

    album.remove_track(1)

    assert_that(album.tracks, has_length(2), "remaining tracks")
    assert_that(album.tracks,
                is_not(has_item(has_property("track_title", "Track 2"))),
                "tracks")
Esempio n. 46
0
def test_writes_compilation_tracks_to_workbook():
    album = build.album(
        release_name="Release Name",
        lead_performer="Various Artists",
        compilation=True)

    album.add_track(build.track(lead_performer="performer"))

    workbook = Workbook()

    write(album, workbook)

    has_line_metadata(workbook.active,
                      A13="Release Name",
                      B13="Artistes Variés",
                      N13="performer",
                      K13="O")
Esempio n. 47
0
def test_remove_previous_artwork_and_tracks(project_file, mp3):
    album_file = project_file("album.tgit")
    tracks = (build.track(mp3(), track_title=title) for title in ("1st", "2nd", "3rd"))
    album = build.album(filename=album_file,
                        images=[sample_front_cover],
                        tracks=tracks)

    local_project.save_project(album, simple_naming)

    for position in reversed(range(len(album))):
        album.remove_track(position)

    album.remove_images()

    local_project.save_project(album, simple_naming)

    assert_that(fs.list_dir(project_file(TRACKS_FOLDER_NAME)), empty(), "track files left")
    assert_that(fs.list_dir(project_file(ARTWORK_FOLDER_NAME)), empty(), "artwork files left")
Esempio n. 48
0
def test_round_trips_chain_of_title_to_disk(project_file, mp3):
    album_file = project_file("album.tgit")
    original_filename = mp3()
    chain_of_title = make_chain_of_title(authors_composers=[joel_miller(), john_roney()],
                                         publishers=[effendi_records()])
    original_track = make_track(original_filename, chain_of_title=chain_of_title, track_title="Chevere!")

    original_album = build.album(filename=album_file, version="2.4.0", type=Album.Type.FLAC,
                                 lead_performer="Joel Miller", tracks=[original_track])

    local_project.save_project(original_album, track_name=lambda current_track: current_track.track_title + ".mp3")
    os.remove(original_filename)
    track = local_project.load_project(album_file).tracks[0]

    assert_that(track.chain_of_title.contributors, has_author_composer("Joel Miller", joel_miller()),
                "The contributors")
    assert_that(track.chain_of_title.contributors, has_author_composer("John Roney", john_roney()),
                "The contributors")
    assert_that(track.chain_of_title.contributors, has_publisher("Effendi Records", effendi_records()),
                "The contributors")
Esempio n. 49
0
def test_round_trips_album_metadata_and_tracks_to_disk(project_file, mp3):
    album_file = project_file("album.tgit")
    original_tracks = (build.track(mp3(), track_title=title) for title in ("1st", "2nd", "3rd"))

    original_album = build.album(filename=album_file,
                                 version="1.11.0",
                                 type=Album.Type.FLAC,
                                 lead_performer="Artist",
                                 images=[sample_front_cover],
                                 tracks=original_tracks)

    local_project.save_project(original_album, track_name=lambda track: track.track_title + ".mp3")
    delete_from_disk(*original_tracks)
    stored_album = local_project.load_project(album_file)

    assert_that(stored_album.type, equal_to(Album.Type.FLAC), "type")
    assert_that(stored_album.lead_performer, equal_to("Artist"), "lead performer")
    assert_that(stored_album.images, contains(Image(*sample_front_cover)), "images")
    assert_that(stored_album.tracks, contains(has_filename(project_file(TRACKS_FOLDER_NAME, "1st.mp3")),
                                              has_filename(project_file(TRACKS_FOLDER_NAME, "2nd.mp3")),
                                              has_filename(project_file(TRACKS_FOLDER_NAME, "3rd.mp3")), ), "tracks")
Esempio n. 50
0
def test_updates_album_metadata():
    album = build.album()
    director.update_album_from(album)(release_name="Title", compilation=False, lead_performer="Artist",
                                      guestPerformers=[("Guitar", "Guitarist")], label_name="Label",
                                      catalogNumber="XXX123456789", upc="123456789999", comments="Comments\n...",
                                      releaseTime="2009-01-01", recording_time="2008-09-15", recordingStudios="Studios",
                                      music_producer="Producer", mixer="Engineer", primary_style="Style")

    assert_that(album.release_name, equal_to("Title"), "release name")
    assert_that(album.compilation, is_(False), "compilation")
    assert_that(album.lead_performer, equal_to("Artist"), "lead performer")
    assert_that(album.guestPerformers, equal_to([("Guitar", "Guitarist")]), "guest performers")
    assert_that(album.label_name, equal_to("Label"), "label name")
    assert_that(album.catalogNumber, equal_to("XXX123456789"), "catalog number")
    assert_that(album.upc, equal_to("123456789999"), "upc")
    assert_that(album.comments, equal_to("Comments\n..."), "comments")
    assert_that(album.releaseTime, equal_to("2009-01-01"), "release time")
    assert_that(album.recording_time, equal_to("2008-09-15"), "recording time")
    assert_that(album.recordingStudios, equal_to("Studios"), "recording studios")
    assert_that(album.music_producer, equal_to("Producer"), "producer")
    assert_that(album.mixer, equal_to("Engineer"), "mixer")
    assert_that(album.primary_style, equal_to("Style"), "primary style")
Esempio n. 51
0
def test_updates_tracks_main_artist_when_album_is_not_a_compilation():
    album = build.album(tracks=[build.track(), build.track(), build.track()])
    director.update_album_from(album)(lead_performer="Album Artist")

    for track in album.tracks:
        assert_that(track.lead_performer, equal_to("Album Artist"), "track artist")
Esempio n. 52
0
def test_updates_album_main_artist_date_of_birth_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(compilation=True, lead_performer_date_of_birth="2009-05-06")

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer_date_of_birth, equal_to("2000-01-01"), "lead performer date of birth")
Esempio n. 53
0
def test_updates_album_main_artist_region_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(compilation=True, lead_performer_region=("CA", "MTL"))

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer_region, is_(None), "lead performer region")
Esempio n. 54
0
def test_updates_album_main_artist_when_album_is_a_compilation():
    album = build.album()
    director.update_album_from(album)(compilation=True, lead_performer="Artist")

    assert_that(album.compilation, is_(True), "compilation")
    assert_that(album.lead_performer, equal_to(""), "lead performer")
Esempio n. 55
0
def test_shows_confirmation_when_close_project_keyboard_shortcut_is_activated(driver):
    window_ = show_main_window()
    window_.enable_project_actions(build.album())
    driver.close_project(using_shortcut=True)
Esempio n. 56
0
def test_clears_album_images():
    album = build.album(images=[build.image("image/jpeg", "image data")])
    director.remove_album_cover_from(album)()
    assert_that(album.images, equal_to([]), "images")
Esempio n. 57
0
def test_actions_are_disabled_once_project_is_closed(driver):
    window_ = show_main_window()
    window_.enable_project_actions(build.album())

    window_.disable_project_actions()
    driver.has_disabled_project_actions()
Esempio n. 58
0
def test_writes_tracks_to_workbook():
    album = build.album(
        release_name="Release Name",
        lead_performer="Lead Performer",
        lead_performer_region=("CA",),
        compilation=False,
        label_name="Label Name",
        catalog_number="Catalog Number",
        upc="Barcode",
        release_time="2014-05-10")

    album.add_track(build.track(track_title="Track Title",
                                isrc="ISRC",
                                duration=60,
                                recording_studio_region=("CA",),
                                production_company="Production Company",
                                production_company_region=("US",),
                                recording_time="2013-05-10"))
    album.add_track(build.track(track_title="Track Title1",
                                isrc="ISRC1",
                                duration=120,
                                recording_studio_region=("CA",),
                                production_company="Production Company",
                                production_company_region=("US",),
                                recording_time="2013-05-10"))

    workbook = Workbook()

    write(album, workbook)

    has_rights_holder(workbook.active, "Label Name", str(date.today()))
    has_line_metadata(workbook.active,
                      A13="Release Name",
                      B13="Lead Performer",
                      C13="CAN",
                      D13="Label Name",
                      E13="Label Name",
                      F13="",
                      G13="Catalog Number",
                      H13="Barcode",
                      I13="2014-05-10",
                      J13="",
                      K13="N",
                      L13="1",
                      M13="Track Title",
                      N13="Lead Performer",
                      O13="CAN",
                      P13="ISRC",
                      Q13="00:01:00",
                      R13="CAN",
                      S13="2013",
                      T13="Production Company",
                      U13="USA",
                      V13="RE/CP/Repro",
                      W13="100",
                      X13="WW",
                      Y13="",
                      Z13="",
                      AA13="")

    has_line_metadata(workbook.active,
                      A14="Release Name",
                      B14="Lead Performer",
                      C14="CAN",
                      D14="Label Name",
                      E14="Label Name",
                      F14="",
                      G14="Catalog Number",
                      H14="Barcode",
                      I14="2014-05-10",
                      J14="",
                      K14="N",
                      L14="2",
                      M14="Track Title1",
                      N14="Lead Performer",
                      O14="CAN",
                      P14="ISRC1",
                      Q14="00:02:00",
                      R14="CAN",
                      S14="2013",
                      T14="Production Company",
                      U14="USA",
                      V14="RE/CP/Repro",
                      W14="100",
                      X14="WW",
                      Y14="",
                      Z14="",
                      AA14="")