Home > Back-end >  TypeScript Expected 1 arguments, but got 2
TypeScript Expected 1 arguments, but got 2

Time:12-15

What's wrong with my function createUser()? Why I can't put params in Smoke.ts ?

Login.ts :

interface User {
  url: string,
  email: string,
}

class Test{ 
async createUser(user: User) {
    await Page.setUrl(user.url);
    await Page.setEmail(user.email);


   
  }
}

Smoke.ts

test("Smoke Test", async (t) => {
  console.log("Starting test");  
  await Login.createUser(
  "google.com","joe"
  );

An error appear : Expected 1 arguments, but got 2.

CodePudding user response:

The method createUser is expecting an object with the following shape: { url: string, email: string, }

And you are passing a string as first parameter and another string as the second parameter.

you should be passing an abject like this:

createUser({ 
   url: 'google.com', 
   email: 'joe' 
})

BTW why are you using "interface" and not "type" here? type is more common for defining object shapes and interface is often used to describe behaviours

CodePudding user response:

your createUser function was declared with only one parameter but when you call this method you passed two-parameter. to fix this you need to pass user object

  • Related