---
# System prepended metadata

title: Untitled

---

```
const IncentiveV1 = artifacts.require("IncentiveV1");

contract("IncentiveV1", () => {
  let contract;

  beforeEach(async () => {
    contract = await IncentiveV1.new();
  });

  it("should create a seller account correctly", async () => {
    const profileImage = "https://example.com/image.jpg";
    const seller = "0x1234567890123456789012345678901234567890";

    await contract.createSellerAccount(profileImage, { from: seller });

    const sellerAccount = await contract.sellers(seller);
    assert.equal(sellerAccount.profileImage, profileImage, "Profile image was not set correctly");
    assert.equal(sellerAccount.seller, seller, "Seller address was not set correctly");
  });

  it("should create a buyer account correctly", async () => {
    const profileImage = "https://example.com/image.jpg";
    const buyer = "0x1234567890123456789012345678901234567890";

    await contract.createBuyerAccount(profileImage, { from: buyer });

    const buyerAccount = await contract.buyers(buyer);
    assert.equal(buyerAccount.profileImage, profileImage, "Profile image was not set correctly");
    assert.equal(buyerAccount.buyer, buyer, "Buyer address was not set correctly");
  });

  it("should create a special incentive correctly", async () => {
    const incentiveURI = "https://example.com/incentive.jpg";
    const price = 100;
    const discount = 20;
    const creator = "0x1234567890123456789012345678901234567890";

    await contract.createSpecialIncentive(incentiveURI, price, discount, { from: creator });

    const specialIncentive = await contract.specialIncentives(1);
    assert.equal(specialIncentive.incentiveURI, incentiveURI, "Incentive URI was not set correctly");
    assert.equal(specialIncentive.price, price, "Price was not set correctly");
    assert.equal(specialIncentive.discount, discount, "Discount was not set correctly");
    assert.equal(specialIncentive.creator, creator, "Creator address was not set correctly");
  });

  it("should create an incentive correctly", async () => {
    const incentiveURI = "https://example.com/incentive.jpg";
    const price = 100;
    const creator = "0x1234567890123456789012345678901234567890";

    await contract.createIncentive(incentiveURI, price, { from: creator });

    const incentive = await contract.incentives(1);
    assert.equal(incentive.incentiveURI, incentiveURI, "Incentive URI was not set correctly");
    assert.equal(incentive.price, price, "Price was not set correctly");
    assert.equal(incentive.creator, creator, "Creator address was not set correctly");
  });

```