Your IP : 216.73.216.43


Current Path : /home/deltalab/PMS/ims-connector/test/
Upload File :
Current File : //home/deltalab/PMS/ims-connector/test/listing.test.js

/**
 * Product connection tests
 * 
 * Product creation, update and removal
 */

// DEPENDENCIES ====================================
const { expect, assert }  = require ('chai');
const { dotenv }          = require ('dotenv').config();

// RESOURCES =======================================
const listingAdapter   = require ('../logic/shopify/listing');

// TEST OBJECTS ====================================


// TEST CASES =======================================
describe ('listings', function () {
  this.timeout(10000);  // increased timeout because shopify is slow as fuk

  // Initialization --------------------------------
  before((done) => {
    done();
  });

  it ('create listing', async () => {
    const name = "Mocha test listing";
    const description = "mocha test description";
    // create 
    const createdListingId = await listingAdapter.createListing(name, description);
    expect(createdListingId).to.exist;
    console.log(`listing created: ${createdListingId}`);
    // get
    const listing = await listingAdapter.getListing(createdListingId);
    expect(listing).to.exist;
    console.log(listing);
    // check
    expect(listing.name).to.equals(name);
    expect(listing.description).to.equals(description);
  });

  it ('update listing', async () => {
    const name = "Mocha test listing";
    const description = "mocha test description";
    // create 
    const createdListingId = await listingAdapter.createListing(name, description);
    expect(createdListingId).to.exist;
    console.log(`listing created: ${createdListingId}`);
    // get
    const listing = await listingAdapter.getListing(createdListingId);
    expect(listing).to.exist;
    console.log(listing);
    // check
    expect(listing.name).to.equals(name);
    expect(listing.description).to.equals(description);
    // update
    const updatedName         = "Mocha test listing updated";
    const updatedDescription  = "mocha test description updated";
    const updatedListingId = await listingAdapter.updateListing(createdListingId, updatedName, updatedDescription);
    expect(updatedListingId).to.exist;
    // get 2
    const updatedListing = await listingAdapter.getListing(createdListingId);
    expect(updatedListing).to.exist;
    // check 2
    expect(updatedListing.name).to.equals(updatedName);
    expect(updatedListing.description).to.equals(updatedDescription);
  });

  
  it ('delete listing', async () => {
    const title = "Mocha test listing";
    const description = "mocha test description";
    // create 
    const createdListingId = await listingAdapter.createListing(title, description);
    expect(createdListingId).to.exist;
    console.log(`listing created: ${createdListingId}`);
    // get
    const listing = await listingAdapter.getListing(createdListingId);
    expect(listing).to.exist;
    console.log(listing);
    // delete
    const deletedListingId = await listingAdapter.deleteListing(createdListingId);
    expect(deletedListingId).to.exist;
    // get 2
    const deletedListing = await listingAdapter.getListing(deletedListingId);
    expect(deletedListing).to.not.exist;
  });
});