package html_test
import (
"context"
"testing"
. "github.com/smartystreets/goconvey/convey"
"github.com/MontFerret/ferret/pkg/runtime/values"
"github.com/MontFerret/ferret/pkg/stdlib/html"
)
func TestDocumentExists(t *testing.T) {
Convey("DOCUMENT_EXISTS", t, func() {
Convey("Should return error if url is not a string", func() {
_, err := html.DocumentExists(context.Background(), values.None)
So(err, ShouldNotBeNil)
})
Convey("Should return error if options is not an object", func() {
_, err := html.DocumentExists(context.Background(), values.NewString("http://fsdfsdfdsdsf.fdf"), values.None)
So(err, ShouldNotBeNil)
})
Convey("Should return error if headers is not an object", func() {
opts := values.NewObjectWith(values.NewObjectProperty("headers", values.None))
_, err := html.DocumentExists(context.Background(), values.NewString("http://fsdfsdfdsdsf.fdf"), opts)
So(err, ShouldNotBeNil)
})
Convey("Should return 'false' when a website does not exist by a given url", func() {
out, err := html.DocumentExists(context.Background(), values.NewString("http://fsdfsdfdsdsf.fdf"))
So(err, ShouldBeNil)
So(out, ShouldEqual, values.False)
})
Convey("Should return 'true' when a website exists by a given url", func() {
out, err := html.DocumentExists(context.Background(), values.NewString("https://www.google.com/"))
So(err, ShouldBeNil)
So(out, ShouldEqual, values.True)
})
})
}