0

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.

1
  • 1
    createUser() is expecting a User object as parameter. But you're passing two strings. What you want would be Login.createUser({ url: "google.com", email: "joe" }); Commented Dec 15, 2021 at 7:38

2 Answers 2

4

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 object 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

Sign up to request clarification or add additional context in comments.

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.