import "should";
import * as itunes from "../../lib/services/itunes/index.js";

describe("iTunes Music", function() {
  describe("lookupId", function() {
    it("should find album by ID", async function() {
      const result = await itunes.lookupId("1445991287", "album");
      result.name.should.equal("Peace Orchestra");
    });

    it("should find track by ID", async function() {
      const result = await itunes.lookupId("1440718994", "track");
      result.name.should.equal("Zombie");
    });
  });

  describe("search", function() {
    it("should find album by search", async function() {
      const result = await itunes.search({
        type: "album",
        artist: { name: "Deftones" },
        name: "White Pony"
      });
      result.name.should.equal("White Pony");
    });

    it("should find track by search", async function() {
      const result = await itunes.search({
        type: "track",
        artist: { name: "Deftones" },
        albumName: "Deftones",
        name: "Hexagram"
      });
      result.name.should.equal("Hexagram");
    });
  });

  describe("lookupUrl", function() {
    describe("parseUrl", function() {
      it("should parse album url into ID", async function() {
        const result = await itunes.parseUrl(
          "https://itunes.apple.com/us/album/peace-orchestra/1445991287"
        );
        result.id.should.equal("us1445991287");
      });

      it("should parse track url into ID", async function() {
        const result = await itunes.parseUrl(
          "https://itunes.apple.com/us/album/double-drums-dj-dsl-mix/1445927689?i=1445927701"
        );
        result.id.should.equal("us1445927689");
      });
    });
  });
});