From 5cb49b2e6ce64c52dbde7c00332ab1b6d403197d Mon Sep 17 00:00:00 2001 From: John Smart Date: Fri, 5 Feb 2016 17:44:16 +0000 Subject: [PATCH] Made reading UI values more fluent. The narrative was interrupted by the .value() so hidden away for now behind a more fluent method --- .../net/serenitybdd/screenplay/questions/ValueOf.java | 7 +++++++ .../screenplay/questions/WhenReadingUIValues.groovy | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 browse-the-web/src/main/java/net/serenitybdd/screenplay/questions/ValueOf.java diff --git a/browse-the-web/src/main/java/net/serenitybdd/screenplay/questions/ValueOf.java b/browse-the-web/src/main/java/net/serenitybdd/screenplay/questions/ValueOf.java new file mode 100644 index 0000000000..e0be0c75f6 --- /dev/null +++ b/browse-the-web/src/main/java/net/serenitybdd/screenplay/questions/ValueOf.java @@ -0,0 +1,7 @@ +package net.serenitybdd.screenplay.questions; + +public class ValueOf { + public static OUTPUT the(UIState answer) { + return answer.value(); + } +} \ No newline at end of file diff --git a/browse-the-web/src/test/groovy/net/serenitybdd/screenplay/questions/WhenReadingUIValues.groovy b/browse-the-web/src/test/groovy/net/serenitybdd/screenplay/questions/WhenReadingUIValues.groovy index d87cdb4d0a..3b757ecbdc 100644 --- a/browse-the-web/src/test/groovy/net/serenitybdd/screenplay/questions/WhenReadingUIValues.groovy +++ b/browse-the-web/src/test/groovy/net/serenitybdd/screenplay/questions/WhenReadingUIValues.groovy @@ -194,11 +194,18 @@ class WhenReadingUIValues extends Specification { SelectedOptions.of(target).viewedBy(actor).asList() == [["value1", "value2"], ["value3", "value4"]] } - def "should read css value"() { + def "should be able to read values without calling value() directly"() { when: element.getCssValue("font") >> "Italics" then: - CSSValue.of(target).named("font").viewedBy(actor).value() == "Italics" + ValueOf.the(CSSValue.of(target).named("font").viewedBy(actor)) == "Italics" + } + + def "should read css value"() { + when: + element.getCssValue("font") >> "Italics" + then: + CSSValue.of(target).named("font").viewedBy(actor).value() == "Italics" } def "should read multiple css values"() {