diff --git a/messaging-connection-demo/pom.xml b/messaging-connection-demo/pom.xml deleted file mode 100644 index 2a73534..0000000 --- a/messaging-connection-demo/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - 4.0.0 - - cz.moneta.demo - messaging-connection-demo - 1.0.0-SNAPSHOT - - - 17 - 17 - UTF-8 - - 3.7.1 - 7.6.1 - 9.4.2.0 - 3.1.0 - - - - - org.apache.kafka - kafka-clients - ${kafka.version} - - - - io.confluent - kafka-avro-serializer - ${confluent.version} - - - - com.ibm.mq - com.ibm.mq.allclient - ${ibm.mq.version} - - - - jakarta.jms - jakarta.jms-api - ${jakarta.jms.version} - - - - - - confluent - Confluent Maven Repository - https://packages.confluent.io/maven/ - - - diff --git a/messaging-connection-demo/src/main/java/cz/moneta/demo/MessagingConnectionApp.java b/messaging-connection-demo/src/main/java/cz/moneta/demo/MessagingConnectionApp.java deleted file mode 100644 index 4c8ba4f..0000000 --- a/messaging-connection-demo/src/main/java/cz/moneta/demo/MessagingConnectionApp.java +++ /dev/null @@ -1,69 +0,0 @@ -package cz.moneta.demo; - -import com.ibm.msg.client.jms.JmsConnectionFactory; -import com.ibm.msg.client.jms.JmsFactoryFactory; -import com.ibm.msg.client.wmq.WMQConstants; -import org.apache.kafka.clients.producer.KafkaProducer; -import org.apache.kafka.clients.producer.ProducerConfig; -import org.apache.kafka.common.serialization.StringSerializer; - -import javax.jms.JMSContext; -import java.util.Properties; - -public class MessagingConnectionApp { - - public static KafkaProducer createKafkaConnection(String bootstrapServers, - String apiKey, - String apiSecret) { - Properties kafkaProps = new Properties(); - kafkaProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); - kafkaProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); - kafkaProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); - kafkaProps.put("security.protocol", "SASL_SSL"); - kafkaProps.put("sasl.mechanism", "PLAIN"); - kafkaProps.put("sasl.jaas.config", - String.format("org.apache.kafka.common.security.plain.PlainLoginModule required username=\"%s\" password=\"%s\";", - apiKey, apiSecret)); - - return new KafkaProducer<>(kafkaProps); - } - - public static JMSContext createMqConnection(String host, - int port, - String channel, - String queueManager, - String user, - String password) throws Exception { - JmsFactoryFactory factoryFactory = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER); - JmsConnectionFactory connectionFactory = factoryFactory.createConnectionFactory(); - - connectionFactory.setStringProperty(WMQConstants.WMQ_HOST_NAME, host); - connectionFactory.setIntProperty(WMQConstants.WMQ_PORT, port); - connectionFactory.setStringProperty(WMQConstants.WMQ_CHANNEL, channel); - connectionFactory.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManager); - connectionFactory.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT); - connectionFactory.setStringProperty(WMQConstants.USERID, user); - connectionFactory.setStringProperty(WMQConstants.PASSWORD, password); - - return connectionFactory.createContext(user, password, JMSContext.AUTO_ACKNOWLEDGE); - } - - public static void main(String[] args) throws Exception { - String kafkaBootstrap = System.getProperty("kafka.bootstrap", "localhost:9092"); - String kafkaApiKey = System.getProperty("kafka.apiKey", "api-key"); - String kafkaApiSecret = System.getProperty("kafka.apiSecret", "api-secret"); - - String mqHost = System.getProperty("mq.host", "localhost"); - int mqPort = Integer.parseInt(System.getProperty("mq.port", "1414")); - String mqChannel = System.getProperty("mq.channel", "DEV.APP.SVRCONN"); - String mqQueueManager = System.getProperty("mq.queueManager", "QM1"); - String mqUser = System.getProperty("mq.user", "app"); - String mqPassword = System.getProperty("mq.password", "pass"); - - try (KafkaProducer kafkaProducer = createKafkaConnection(kafkaBootstrap, kafkaApiKey, kafkaApiSecret); - JMSContext mqContext = createMqConnection(mqHost, mqPort, mqChannel, mqQueueManager, mqUser, mqPassword)) { - System.out.println("Kafka connection created: " + (kafkaProducer != null)); - System.out.println("IBM MQ connection created: " + (mqContext != null)); - } - } -} diff --git a/test-harness/pom.xml b/test-harness/pom.xml index a8d4c51..618e703 100644 --- a/test-harness/pom.xml +++ b/test-harness/pom.xml @@ -29,10 +29,6 @@ 1.9.3 1.6 4.0.3 - 3.7.1 - 7.6.1 - 9.4.5.0 - 3.1.0 @@ -270,48 +266,6 @@ ${appium-java-client.version} - - org.apache.kafka - kafka-clients - ${kafka.version} - - - - io.confluent - kafka-avro-serializer - ${confluent.version} - - - - io.confluent - kafka-schema-registry-client - ${confluent.version} - - - - org.apache.avro - avro - 1.11.3 - - - - com.ibm.mq - com.ibm.mq.allclient - ${ibm.mq.version} - - - - javax.jms - javax.jms-api - 2.0.1 - - - - jakarta.jms - jakarta.jms-api - ${jakarta.jms.version} - - org.apache.cxf @@ -404,23 +358,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - 3.9.0 - - - install - - copy-dependencies - - - ${project.build.directory}/lib - runtime - - - - org.apache.maven.plugins maven-compiler-plugin @@ -454,23 +391,16 @@ false true - confluent - Confluent Hub - https://packages.confluent.io/maven/ + central + libs-release + https://artifactory-aws.ux.mbid.cz/artifactory/libs-release - false - true - mcentral - Maven Central - https://repo1.maven.org/maven2/ - - - false - true - mvnrepo - MVN Repository - https://mvnrepository.com/artifact/ + true + false + snapshots + libs-snapshot + https://artifactory-aws.ux.mbid.cz/artifactory/libs-snapshot diff --git a/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/IbmMqConnector.java b/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/IbmMqConnector.java deleted file mode 100644 index 4045b70..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/IbmMqConnector.java +++ /dev/null @@ -1,264 +0,0 @@ -package cz.moneta.test.harness.connectors.messaging; - -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import java.time.Duration; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.function.Predicate; - -import javax.jms.BytesMessage; -import javax.jms.JMSConsumer; -import javax.jms.JMSContext; -import javax.jms.JMSException; -import javax.jms.JMSProducer; -import javax.jms.Message; -import javax.jms.Queue; -import javax.jms.QueueBrowser; -import javax.jms.TextMessage; - -import com.ibm.mq.jms.MQConnectionFactory; -import com.ibm.msg.client.wmq.WMQConstants; - -import cz.moneta.test.harness.connectors.Connector; -import cz.moneta.test.harness.exception.MessagingTimeoutException; -import cz.moneta.test.harness.messaging.model.MessageContentType; -import cz.moneta.test.harness.messaging.model.MqMessageFormat; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; - -public class IbmMqConnector implements Connector { - - private static final Charset EBCDIC_870 = Charset.forName("IBM870"); - private static final Charset UTF_8 = StandardCharsets.UTF_8; - private final MQConnectionFactory connectionFactory; - private final String user; - private final String password; - private final Object contextLock = new Object(); - private volatile JMSContext jmsContext; - - public IbmMqConnector(String host, - int port, - String channel, - String queueManager, - String user, - String password, - String keystorePath, - String keystorePassword, - String cipherSuite) { - this.user = user; - this.password = password; - try { - if (keystorePath != null && !keystorePath.isBlank()) { - System.setProperty("javax.net.ssl.keyStore", keystorePath); - System.setProperty("javax.net.ssl.trustStore", keystorePath); - if (keystorePassword != null) { - System.setProperty("javax.net.ssl.keyStorePassword", keystorePassword); - System.setProperty("javax.net.ssl.trustStorePassword", keystorePassword); - } - } - - connectionFactory = new MQConnectionFactory(); - connectionFactory.setHostName(host); - connectionFactory.setPort(port); - connectionFactory.setQueueManager(queueManager); - connectionFactory.setChannel(channel); - connectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT); - if (user != null && !user.isBlank()) { - connectionFactory.setStringProperty(WMQConstants.USERID, user); - } - if (password != null && !password.isBlank()) { - connectionFactory.setStringProperty(WMQConstants.PASSWORD, password); - } - - if (cipherSuite != null && !cipherSuite.isBlank()) { - connectionFactory.setSSLCipherSuite(cipherSuite); - } - } catch (Exception e) { - throw new IllegalStateException("Failed to initialize IBM MQ connection factory", e); - } - } - - public void send(String queueName, - String payload, - MqMessageFormat format, - Map properties) { - switch (Objects.requireNonNull(format, "format")) { - case JSON, XML -> sendTextMessage(queueName, payload, properties); - case EBCDIC_870 -> sendBytesMessage(queueName, payload, EBCDIC_870, 870, properties); - case UTF8_1208 -> sendBytesMessage(queueName, payload, UTF_8, 1208, properties); - } - } - - public ReceivedMessage receive(String queueName, - String messageSelector, - MqMessageFormat expectedFormat, - Duration timeout) { - JMSContext context = getContext(); - Queue queue = context.createQueue("queue:///" + queueName); - try (JMSConsumer consumer = messageSelector == null || messageSelector.isBlank() - ? context.createConsumer(queue) - : context.createConsumer(queue, messageSelector)) { - Message message = consumer.receive(Optional.ofNullable(timeout).orElse(Duration.ofSeconds(30)).toMillis()); - if (message == null) { - throw new MessagingTimeoutException("Timeout waiting for IBM MQ message from queue: " + queueName); - } - return toReceivedMessage(message, queueName, expectedFormat); - } - } - - public List browse(String queueName, - Predicate filter, - MqMessageFormat expectedFormat, - Duration timeout) { - long timeoutMillis = Optional.ofNullable(timeout).orElse(Duration.ofSeconds(30)).toMillis(); - long deadline = System.currentTimeMillis() + timeoutMillis; - long backoff = 100; - JMSContext context = getContext(); - Queue queue = context.createQueue("queue:///" + queueName); - - while (System.currentTimeMillis() < deadline) { - List matched = new ArrayList<>(); - try (QueueBrowser browser = context.createBrowser(queue)) { - Enumeration messages = browser.getEnumeration(); - while (messages.hasMoreElements()) { - Message message = (Message) messages.nextElement(); - ReceivedMessage receivedMessage = toReceivedMessage(message, queueName, expectedFormat); - if (filter == null || filter.test(receivedMessage)) { - matched.add(receivedMessage); - } - } - } catch (JMSException e) { - throw new IllegalStateException("Failed to browse IBM MQ queue: " + queueName, e); - } - - if (!matched.isEmpty()) { - return matched; - } - - try { - TimeUnit.MILLISECONDS.sleep(backoff); - } catch (InterruptedException ignored) { - Thread.currentThread().interrupt(); - break; - } - backoff = Math.min(backoff * 2, 1000); - } - throw new MessagingTimeoutException("Timeout waiting for IBM MQ message from queue: " + queueName); - } - - @Override - public void close() { - JMSContext context = jmsContext; - if (context != null) { - context.close(); - } - } - - private void sendTextMessage(String queueName, String payload, Map properties) { - JMSContext context = getContext(); - JMSProducer producer = context.createProducer(); - TextMessage message = context.createTextMessage(payload); - applyProperties(message, properties); - producer.send(context.createQueue("queue:///" + queueName), message); - } - - private void sendBytesMessage(String queueName, - String payload, - Charset charset, - int ccsid, - Map properties) { - try { - JMSContext context = getContext(); - JMSProducer producer = context.createProducer(); - BytesMessage message = context.createBytesMessage(); - message.writeBytes(Optional.ofNullable(payload).orElse("").getBytes(charset)); - message.setIntProperty(WMQConstants.JMS_IBM_CHARACTER_SET, ccsid); - applyProperties(message, properties); - producer.send(context.createQueue("queue:///" + queueName), message); - } catch (JMSException e) { - throw new IllegalStateException("Failed to send bytes message to IBM MQ queue: " + queueName, e); - } - } - - private void applyProperties(Message message, Map properties) { - Optional.ofNullable(properties).orElseGet(Collections::emptyMap) - .forEach((key, value) -> { - try { - message.setStringProperty(key, String.valueOf(value)); - } catch (JMSException e) { - throw new IllegalStateException("Failed to set JMS property: " + key, e); - } - }); - } - - private ReceivedMessage toReceivedMessage(Message message, String queueName, MqMessageFormat format) { - try { - Map headers = new LinkedHashMap<>(); - Enumeration names = message.getPropertyNames(); - while (names.hasMoreElements()) { - String name = String.valueOf(names.nextElement()); - headers.put(name, String.valueOf(message.getObjectProperty(name))); - } - - String body = decodeMessage(message, format); - MessageContentType contentType = resolveContentType(message, format); - return new ReceivedMessage(body, contentType, headers, message.getJMSTimestamp(), queueName); - } catch (JMSException e) { - throw new IllegalStateException("Failed to decode IBM MQ message", e); - } - } - - private MessageContentType resolveContentType(Message message, MqMessageFormat expectedFormat) { - if (message instanceof TextMessage) { - return expectedFormat == MqMessageFormat.XML ? MessageContentType.XML : MessageContentType.JSON; - } - if (expectedFormat == MqMessageFormat.XML) { - return MessageContentType.XML; - } - if (expectedFormat == MqMessageFormat.JSON) { - return MessageContentType.JSON; - } - return MessageContentType.RAW_TEXT; - } - - private String decodeMessage(Message jmsMessage, MqMessageFormat format) { - try { - if (jmsMessage instanceof TextMessage textMessage) { - return textMessage.getText(); - } - - if (jmsMessage instanceof BytesMessage bytesMessage) { - byte[] data = new byte[(int) bytesMessage.getBodyLength()]; - bytesMessage.readBytes(data); - Charset charset = switch (format) { - case EBCDIC_870 -> EBCDIC_870; - case UTF8_1208, JSON, XML -> UTF_8; - }; - return new String(data, charset); - } - return ""; - } catch (Exception e) { - throw new IllegalStateException("Failed to decode JMS message", e); - } - } - - private JMSContext getContext() { - JMSContext current = jmsContext; - if (current == null) { - synchronized (contextLock) { - current = jmsContext; - if (current == null) { - jmsContext = current = connectionFactory.createContext(user, password, JMSContext.AUTO_ACKNOWLEDGE); - } - } - } - return current; - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/KafkaConnector.java b/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/KafkaConnector.java deleted file mode 100644 index 701d8b8..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/connectors/messaging/KafkaConnector.java +++ /dev/null @@ -1,353 +0,0 @@ -package cz.moneta.test.harness.connectors.messaging; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import cz.moneta.test.harness.connectors.Connector; -import cz.moneta.test.harness.exception.MessagingTimeoutException; -import cz.moneta.test.harness.messaging.model.MessageContentType; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; -import io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient; -import io.confluent.kafka.serializers.AbstractKafkaSchemaSerDeConfig; -import io.confluent.kafka.serializers.KafkaAvroDeserializer; -import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig; -import io.confluent.kafka.serializers.KafkaAvroSerializer; -import org.apache.avro.Schema; -import org.apache.avro.generic.GenericData; -import org.apache.avro.generic.GenericRecord; -import org.apache.kafka.clients.consumer.ConsumerConfig; -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.apache.kafka.clients.consumer.ConsumerRecords; -import org.apache.kafka.clients.consumer.KafkaConsumer; -import org.apache.kafka.clients.producer.KafkaProducer; -import org.apache.kafka.clients.producer.ProducerConfig; -import org.apache.kafka.clients.producer.ProducerRecord; -import org.apache.kafka.common.TopicPartition; -import org.apache.kafka.common.header.Header; -import org.apache.kafka.common.serialization.StringDeserializer; -import org.apache.kafka.common.serialization.StringSerializer; - -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.time.Duration; -import java.util.ArrayList; -import java.util.Base64; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Properties; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import java.util.function.Predicate; - -public class KafkaConnector implements Connector { - - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - - private final Properties producerProps = new Properties(); - private final Properties consumerProps = new Properties(); - private final CachedSchemaRegistryClient schemaRegistryClient; - private volatile KafkaProducer producer; - private final Object producerLock = new Object(); - - public KafkaConnector(String bootstrapServers, - String apiKey, - String apiSecret, - String schemaRegistryUrl, - String schemaRegistryApiKey, - String schemaRegistryApiSecret) { - String jaasConfig = String.format("org.apache.kafka.common.security.plain.PlainLoginModule required username=\"%s\" password=\"%s\";", - apiKey, - apiSecret); - String schemaRegistryAuth = schemaRegistryApiKey + ":" + schemaRegistryApiSecret; - - producerProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); - producerProps.put("security.protocol", "SASL_SSL"); - producerProps.put("sasl.mechanism", "PLAIN"); - producerProps.put("sasl.jaas.config", jaasConfig); - producerProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); - producerProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class.getName()); - producerProps.put(AbstractKafkaSchemaSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl); - producerProps.put(AbstractKafkaSchemaSerDeConfig.BASIC_AUTH_CREDENTIALS_SOURCE, "USER_INFO"); - producerProps.put(AbstractKafkaSchemaSerDeConfig.USER_INFO_CONFIG, schemaRegistryAuth); - producerProps.put("auto.register.schemas", "false"); - - consumerProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); - consumerProps.put("security.protocol", "SASL_SSL"); - consumerProps.put("sasl.mechanism", "PLAIN"); - consumerProps.put("sasl.jaas.config", jaasConfig); - consumerProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); - consumerProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class.getName()); - consumerProps.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "latest"); - consumerProps.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false"); - consumerProps.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, "false"); - consumerProps.put(AbstractKafkaSchemaSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl); - consumerProps.put(AbstractKafkaSchemaSerDeConfig.BASIC_AUTH_CREDENTIALS_SOURCE, "USER_INFO"); - consumerProps.put(AbstractKafkaSchemaSerDeConfig.USER_INFO_CONFIG, schemaRegistryAuth); - - this.schemaRegistryClient = new CachedSchemaRegistryClient(schemaRegistryUrl, 128); - } - - public void send(String topic, String key, String jsonPayload, Map headers) { - Objects.requireNonNull(topic, "topic"); - Schema schema = getSchemaForTopic(topic); - GenericRecord record = jsonToAvro(jsonPayload, schema); - ProducerRecord producerRecord = new ProducerRecord<>(topic, key, record); - Optional.ofNullable(headers).orElseGet(HashMap::new) - .forEach((headerKey, headerValue) -> producerRecord.headers() - .add(headerKey, String.valueOf(headerValue).getBytes(StandardCharsets.UTF_8))); - - try { - getProducer().send(producerRecord).get(30, TimeUnit.SECONDS); - } catch (Exception e) { - throw new IllegalStateException("Failed to send Kafka message to topic: " + topic, e); - } - } - - public List receive(String topic, - Predicate filter, - Duration timeout) { - long timeoutMillis = Optional.ofNullable(timeout).orElse(Duration.ofSeconds(30)).toMillis(); - long deadline = System.currentTimeMillis() + timeoutMillis; - long backoff = 100; - - try (KafkaConsumer consumer = createConsumer()) { - List partitions = consumer.partitionsFor(topic).stream() - .map(info -> new TopicPartition(topic, info.partition())) - .toList(); - consumer.assign(partitions); - consumer.seekToEnd(partitions); - - while (System.currentTimeMillis() < deadline) { - ConsumerRecords records = consumer.poll(Duration.ofMillis(100)); - if (!records.isEmpty()) { - for (ConsumerRecord record : records) { - ReceivedMessage message = toReceivedMessage(record); - if (filter == null || filter.test(message)) { - return List.of(message); - } - } - backoff = 100; - continue; - } - TimeUnit.MILLISECONDS.sleep(backoff); - backoff = Math.min(backoff * 2, 1000); - } - } catch (MessagingTimeoutException e) { - throw e; - } catch (Exception e) { - throw new IllegalStateException("Failed to receive Kafka message from topic: " + topic, e); - } - throw new MessagingTimeoutException("Timeout waiting for Kafka message from topic: " + topic); - } - - public Map saveOffsets(String topic) { - try (KafkaConsumer consumer = createConsumer()) { - List partitions = consumer.partitionsFor(topic).stream() - .map(info -> new TopicPartition(topic, info.partition())) - .toList(); - consumer.assign(partitions); - consumer.seekToEnd(partitions); - Map offsets = new HashMap<>(); - partitions.forEach(partition -> offsets.put(partition, consumer.position(partition))); - return offsets; - } - } - - @Override - public void close() { - KafkaProducer current = producer; - if (current != null) { - current.close(Duration.ofSeconds(5)); - } - } - - private KafkaProducer getProducer() { - KafkaProducer current = producer; - if (current == null) { - synchronized (producerLock) { - current = producer; - if (current == null) { - producer = current = new KafkaProducer<>(producerProps); - } - } - } - return current; - } - - private KafkaConsumer createConsumer() { - Properties properties = new Properties(); - properties.putAll(consumerProps); - properties.put(ConsumerConfig.GROUP_ID_CONFIG, "harness-" + UUID.randomUUID()); - return new KafkaConsumer<>(properties); - } - - private ReceivedMessage toReceivedMessage(ConsumerRecord record) { - String body = convertValueToJson(record.value()); - Map headers = new LinkedHashMap<>(); - for (Header header : record.headers()) { - headers.put(header.key(), new String(header.value(), StandardCharsets.UTF_8)); - } - - return new ReceivedMessage(body, - MessageContentType.JSON, - headers, - record.timestamp(), - record.topic()); - } - - private String convertValueToJson(Object value) { - try { - if (value instanceof GenericRecord genericRecord) { - return avroToJson(genericRecord); - } - if (value instanceof CharSequence) { - return value.toString(); - } - return OBJECT_MAPPER.writeValueAsString(value); - } catch (Exception e) { - throw new IllegalStateException("Failed to convert Kafka payload to JSON", e); - } - } - - private Schema getSchemaForTopic(String topic) { - String subject = topic + "-value"; - try { - // Get all versions and use the latest one - java.util.List versions = schemaRegistryClient.getAllVersions(subject); - int latestVersion = versions.get(versions.size() - 1); - io.confluent.kafka.schemaregistry.client.rest.entities.Schema confluentSchema = - schemaRegistryClient.getByVersion(subject, latestVersion, false); - String schemaString = confluentSchema.getSchema(); - return new Schema.Parser().parse(schemaString); - } catch (Exception e) { - throw new IllegalStateException("Failed to get schema for subject: " + subject, e); - } - } - - private String avroToJson(GenericRecord record) { - try { - return OBJECT_MAPPER.writeValueAsString(convertAvroObject(record)); - } catch (Exception e) { - throw new IllegalStateException("Failed to convert Avro record to JSON", e); - } - } - - private GenericRecord jsonToAvro(String jsonPayload, Schema schema) { - try { - JsonNode root = OBJECT_MAPPER.readTree(jsonPayload); - Object converted = convertJsonNode(root, schema); - return (GenericRecord) converted; - } catch (Exception e) { - throw new IllegalStateException("Failed to convert JSON payload to Avro", e); - } - } - - private Object convertJsonNode(JsonNode node, Schema schema) { - return switch (schema.getType()) { - case RECORD -> { - GenericData.Record record = new GenericData.Record(schema); - schema.getFields().forEach(field -> record.put(field.name(), - convertJsonNode(node.path(field.name()), field.schema()))); - yield record; - } - case ARRAY -> { - List values = new ArrayList<>(); - node.forEach(item -> values.add(convertJsonNode(item, schema.getElementType()))); - yield values; - } - case MAP -> { - Map map = new HashMap<>(); - node.fields().forEachRemaining(entry -> map.put(entry.getKey(), - convertJsonNode(entry.getValue(), schema.getValueType()))); - yield map; - } - case UNION -> resolveUnion(node, schema); - case ENUM -> new GenericData.EnumSymbol(schema, node.asText()); - case FIXED -> { - byte[] fixedBytes = toBytes(node); - yield new GenericData.Fixed(schema, fixedBytes); - } - case STRING -> node.isNull() ? null : node.asText(); - case INT -> node.isNull() ? null : node.asInt(); - case LONG -> node.isNull() ? null : node.asLong(); - case FLOAT -> node.isNull() ? null : (float) node.asDouble(); - case DOUBLE -> node.isNull() ? null : node.asDouble(); - case BOOLEAN -> node.isNull() ? null : node.asBoolean(); - case BYTES -> ByteBuffer.wrap(toBytes(node)); - case NULL -> null; - }; - } - - private Object resolveUnion(JsonNode node, Schema unionSchema) { - if (node == null || node.isNull()) { - return null; - } - - IllegalStateException lastException = null; - for (Schema candidate : unionSchema.getTypes()) { - if (candidate.getType() == Schema.Type.NULL) { - continue; - } - try { - Object value = convertJsonNode(node, candidate); - if (GenericData.get().validate(candidate, value)) { - return value; - } - } catch (Exception e) { - lastException = new IllegalStateException("Failed to resolve union type", e); - } - } - - if (lastException != null) { - throw lastException; - } - throw new IllegalStateException("Cannot resolve union for node: " + node); - } - - private byte[] toBytes(JsonNode node) { - if (node.isBinary()) { - try { - return node.binaryValue(); - } catch (Exception ignored) { - // fallback to textual representation - } - } - String text = node.asText(); - try { - return Base64.getDecoder().decode(text); - } catch (Exception ignored) { - return text.getBytes(StandardCharsets.UTF_8); - } - } - - private Object convertAvroObject(Object value) { - if (value == null) { - return null; - } - if (value instanceof GenericRecord record) { - Map jsonObject = new LinkedHashMap<>(); - record.getSchema().getFields().forEach(field -> jsonObject.put(field.name(), convertAvroObject(record.get(field.name())))); - return jsonObject; - } - if (value instanceof GenericData.Array array) { - List values = new ArrayList<>(array.size()); - array.forEach(item -> values.add(convertAvroObject(item))); - return values; - } - if (value instanceof Map map) { - Map values = new LinkedHashMap<>(); - map.forEach((key, item) -> values.put(String.valueOf(key), convertAvroObject(item))); - return values; - } - if (value instanceof ByteBuffer byteBuffer) { - ByteBuffer duplicate = byteBuffer.duplicate(); - byte[] bytes = new byte[duplicate.remaining()]; - duplicate.get(bytes); - return Base64.getEncoder().encodeToString(bytes); - } - return value; - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/cagw/CaGwEndpoint.java b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/cagw/CaGwEndpoint.java index 7a20690..2df5b1b 100644 --- a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/cagw/CaGwEndpoint.java +++ b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/cagw/CaGwEndpoint.java @@ -55,4 +55,5 @@ public class CaGwEndpoint implements RestEndpoint { public StoreAccessor getStore() { return store; } + } diff --git a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/IbmMqEndpoint.java b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/IbmMqEndpoint.java deleted file mode 100644 index 79bb483..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/IbmMqEndpoint.java +++ /dev/null @@ -1,125 +0,0 @@ -package cz.moneta.test.harness.endpoints.messaging; - -import cz.moneta.test.harness.connectors.VaultConnector; -import cz.moneta.test.harness.connectors.messaging.IbmMqConnector; -import cz.moneta.test.harness.constants.HarnessConfigConstants; -import cz.moneta.test.harness.context.StoreAccessor; -import cz.moneta.test.harness.endpoints.Endpoint; -import cz.moneta.test.harness.messaging.model.MqMessageFormat; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; - -import java.time.Duration; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.function.Predicate; - -public class IbmMqEndpoint implements Endpoint { - - private static final String CONFIG_HOST = "endpoints.imq-first-vision.host"; - private static final String CONFIG_PORT = "endpoints.imq-first-vision.port"; - private static final String CONFIG_CHANNEL = "endpoints.imq-first-vision.channel"; - private static final String CONFIG_QUEUE_MANAGER = "endpoints.imq-first-vision.queue-manager"; - private static final String CONFIG_KEYSTORE_PATH = "endpoints.imq-first-vision.keystore.path"; - private static final String CONFIG_KEYSTORE_PASSWORD = "endpoints.imq-first-vision.keystore.password"; - private static final String CONFIG_VAULT_PATH = "vault.path.messaging.ibmmq"; - private static final String CONFIG_USERNAME = "endpoints.imq-first-vision.username"; - private static final String CONFIG_PASSWORD = "endpoints.imq-first-vision.password"; - private static final String CONFIG_SSL_CYPHER_SUITES = "endpoints.imq-first-vision.ssl-cipher-suite"; - - private final StoreAccessor store; - private volatile IbmMqConnector connector; - private final Object connectorLock = new Object(); - - public IbmMqEndpoint(StoreAccessor store) { - this.store = store; - } - - public void send(String queueName, - String payload, - MqMessageFormat format, - Map properties) { - getConnector().send(queueName, payload, format, properties); - } - - public ReceivedMessage receive(String queueName, - String messageSelector, - MqMessageFormat expectedFormat, - Duration timeout) { - return getConnector().receive(queueName, messageSelector, expectedFormat, timeout); - } - - public List browse(String queueName, - Predicate filter, - MqMessageFormat expectedFormat, - Duration timeout) { - return getConnector().browse(queueName, filter, expectedFormat, timeout); - } - - @Override - public void close() { - IbmMqConnector current = connector; - if (current != null) { - current.close(); - } - } - - private IbmMqConnector getConnector() { - IbmMqConnector current = connector; - if (current == null) { - synchronized (connectorLock) { - current = connector; - if (current == null) { - current = createConnector(); - connector = current; - } - } - } - return current; - } - - private IbmMqConnector createConnector() { - String host = requireConfig(CONFIG_HOST); - int port = Integer.parseInt(requireConfig(CONFIG_PORT)); - String channel = requireConfig(CONFIG_CHANNEL); - String queueManager = requireConfig(CONFIG_QUEUE_MANAGER); - String username = resolveSecret(CONFIG_USERNAME, "username"); - String password = resolveSecret(CONFIG_PASSWORD, "password"); - String keystorePath = store.getConfig(CONFIG_KEYSTORE_PATH); - String keystorePassword = store.getConfig(CONFIG_KEYSTORE_PASSWORD); - String sslCipherSuites = store.getConfig(CONFIG_SSL_CYPHER_SUITES); - - return new IbmMqConnector(host, port, channel, queueManager, username, password, keystorePath, keystorePassword, sslCipherSuites); - } - - private String resolveSecret(String localConfigKey, String vaultKey) { - return Optional.ofNullable(store.getConfig(localConfigKey)) - .or(() -> readFromVault(vaultKey)) - .orElseThrow(() -> new IllegalStateException("Missing messaging secret: " + localConfigKey)); - } - - private Optional readFromVault(String key) { - String path = store.getConfig(CONFIG_VAULT_PATH); - if (path == null || path.isBlank()) { - return Optional.empty(); - } - String basePath = store.getConfig("vault.path.base"); - String resolvedPath = path.startsWith("/") || basePath == null || basePath.isBlank() - ? path - : basePath + "/" + path; - - return createVaultConnector().flatMap(vault -> vault.getValue(resolvedPath, key)); - } - - private Optional createVaultConnector() { - return Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_URL_CONFIG)) - .flatMap(url -> Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_USERNAME_CONFIG)) - .flatMap(username -> Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_PASSWORD_CONFIG)) - .map(password -> new VaultConnector(url, username, password)))); - } - - private String requireConfig(String key) { - return Optional.ofNullable(store.getConfig(key)) - .orElseThrow(() -> new IllegalStateException("Missing required config: " + key)); - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/KafkaEndpoint.java b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/KafkaEndpoint.java deleted file mode 100644 index 82199e4..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/KafkaEndpoint.java +++ /dev/null @@ -1,119 +0,0 @@ -package cz.moneta.test.harness.endpoints.messaging; - -import cz.moneta.test.harness.connectors.VaultConnector; -import cz.moneta.test.harness.connectors.messaging.KafkaConnector; -import cz.moneta.test.harness.constants.HarnessConfigConstants; -import cz.moneta.test.harness.context.StoreAccessor; -import cz.moneta.test.harness.endpoints.Endpoint; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; - -import java.time.Duration; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.function.Predicate; - -public class KafkaEndpoint implements Endpoint { - - private static final String CONFIG_BOOTSTRAP_SERVERS = "messaging.kafka.bootstrap-servers"; - private static final String CONFIG_SCHEMA_REGISTRY_URL = "messaging.kafka.schema-registry-url"; - private static final String CONFIG_VAULT_PATH = "vault.path.messaging.kafka"; - - private static final String CONFIG_API_KEY = "messaging.kafka.api-key"; - private static final String CONFIG_API_SECRET = "messaging.kafka.api-secret"; - private static final String CONFIG_SCHEMA_REGISTRY_API_KEY = "messaging.kafka.schema-registry-api-key"; - private static final String CONFIG_SCHEMA_REGISTRY_API_SECRET = "messaging.kafka.schema-registry-api-secret"; - - private static final String VAULT_API_KEY = "apiKey"; - private static final String VAULT_API_SECRET = "apiSecret"; - private static final String VAULT_SCHEMA_REGISTRY_API_KEY = "schemaRegistryApiKey"; - private static final String VAULT_SCHEMA_REGISTRY_API_SECRET = "schemaRegistryApiSecret"; - - private final StoreAccessor store; - private volatile KafkaConnector connector; - private final Object connectorLock = new Object(); - - public KafkaEndpoint(StoreAccessor store) { - this.store = store; - } - - public void send(String topic, String key, String payload, Map headers) { - getConnector().send(topic, key, payload, headers); - } - - public ReceivedMessage receive(String topic, Predicate filter, Duration timeout) { - List messages = getConnector().receive(topic, filter, timeout); - return messages.isEmpty() ? null : messages.get(0); - } - - @Override - public void close() { - KafkaConnector current = connector; - if (current != null) { - current.close(); - } - } - - private KafkaConnector getConnector() { - KafkaConnector current = connector; - if (current == null) { - synchronized (connectorLock) { - current = connector; - if (current == null) { - current = createConnector(); - connector = current; - } - } - } - return current; - } - - private KafkaConnector createConnector() { - String bootstrapServers = requireConfig(CONFIG_BOOTSTRAP_SERVERS); - String schemaRegistryUrl = requireConfig(CONFIG_SCHEMA_REGISTRY_URL); - String apiKey = resolveSecret(CONFIG_API_KEY, VAULT_API_KEY); - String apiSecret = resolveSecret(CONFIG_API_SECRET, VAULT_API_SECRET); - String schemaRegistryApiKey = resolveSecret(CONFIG_SCHEMA_REGISTRY_API_KEY, VAULT_SCHEMA_REGISTRY_API_KEY); - String schemaRegistryApiSecret = resolveSecret(CONFIG_SCHEMA_REGISTRY_API_SECRET, VAULT_SCHEMA_REGISTRY_API_SECRET); - - return new KafkaConnector( - bootstrapServers, - apiKey, - apiSecret, - schemaRegistryUrl, - schemaRegistryApiKey, - schemaRegistryApiSecret - ); - } - - private String resolveSecret(String localConfigKey, String vaultKey) { - return Optional.ofNullable(store.getConfig(localConfigKey)) - .or(() -> readFromVault(vaultKey)) - .orElseThrow(() -> new IllegalStateException("Missing messaging secret: " + localConfigKey)); - } - - private Optional readFromVault(String key) { - String path = store.getConfig(CONFIG_VAULT_PATH); - if (path == null || path.isBlank()) { - return Optional.empty(); - } - String basePath = store.getConfig("vault.path.base"); - String resolvedPath = path.startsWith("/") || basePath == null || basePath.isBlank() - ? path - : basePath + "/" + path; - - return createVaultConnector().flatMap(vault -> vault.getValue(resolvedPath, key)); - } - - private Optional createVaultConnector() { - return Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_URL_CONFIG)) - .flatMap(url -> Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_USERNAME_CONFIG)) - .flatMap(username -> Optional.ofNullable(store.getConfig(HarnessConfigConstants.VAULT_PASSWORD_CONFIG)) - .map(password -> new VaultConnector(url, username, password)))); - } - - private String requireConfig(String key) { - return Optional.ofNullable(store.getConfig(key)) - .orElseThrow(() -> new IllegalStateException("Missing required config: " + key)); - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/MessagingEndpoint.java b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/MessagingEndpoint.java deleted file mode 100644 index 093a7f3..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/messaging/MessagingEndpoint.java +++ /dev/null @@ -1,130 +0,0 @@ -package cz.moneta.test.harness.endpoints.messaging; - -import cz.moneta.test.harness.context.StoreAccessor; -import cz.moneta.test.harness.endpoints.Endpoint; -import cz.moneta.test.harness.exception.MessagingTimeoutException; -import cz.moneta.test.harness.messaging.model.Destination; -import cz.moneta.test.harness.messaging.model.MqMessageFormat; -import cz.moneta.test.harness.messaging.model.Queue; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; -import cz.moneta.test.harness.messaging.model.Topic; - -import java.time.Duration; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Predicate; - -public class MessagingEndpoint implements Endpoint { - - private final StoreAccessor store; - private volatile KafkaEndpoint kafkaEndpoint; - private volatile IbmMqEndpoint ibmMqEndpoint; - private final Object endpointLock = new Object(); - - public MessagingEndpoint(StoreAccessor store) { - this.store = store; - } - - public void send(String destinationName, - String key, - String payload, - MqMessageFormat formatOverride, - Map headers) { - Destination destination = resolveDestination(destinationName); - if (destination instanceof Topic topic) { - getKafkaEndpoint().send(topic.getTopicName(), key, payload, headers); - return; - } - - Queue queue = (Queue) destination; - MqMessageFormat format = Optional.ofNullable(formatOverride).orElse(queue.getFormat()); - getIbmMqEndpoint().send(queue.getQueueName(), payload, format, headers); - } - - public ReceivedMessage receive(String destinationName, - Predicate filter, - Duration timeout, - MqMessageFormat formatOverride) { - Destination destination = resolveDestination(destinationName); - if (destination instanceof Topic topic) { - return getKafkaEndpoint().receive(topic.getTopicName(), filter, timeout); - } - - Queue queue = (Queue) destination; - MqMessageFormat format = Optional.ofNullable(formatOverride).orElse(queue.getFormat()); - List messages = getIbmMqEndpoint().browse(queue.getQueueName(), filter, format, timeout); - if (messages.isEmpty()) { - throw new MessagingTimeoutException("No IBM MQ message found for destination: " + destinationName); - } - return messages.get(0); - } - - public Destination resolveDestination(String destinationName) { - String prefix = "messaging.destination." + destinationName + "."; - String type = Optional.ofNullable(store.getConfig(prefix + "type")) - .map(v -> v.toLowerCase(Locale.ROOT)) - .orElseThrow(() -> new IllegalStateException("Missing destination config: " + prefix + "type")); - - return switch (type) { - case "kafka" -> { - String topic = requireConfig(prefix + "topic"); - yield new Topic(destinationName, topic); - } - case "ibmmq" -> { - String queue = requireConfig(prefix + "queue"); - String format = store.getConfig(prefix + "format", MqMessageFormat.JSON.name().toLowerCase(Locale.ROOT)); - yield new Queue(destinationName, queue, MqMessageFormat.fromConfig(format, MqMessageFormat.JSON)); - } - default -> throw new IllegalStateException("Unsupported destination type '" + type + "' for destination: " + destinationName); - }; - } - - @Override - public void close() { - KafkaEndpoint kafka = kafkaEndpoint; - if (kafka != null) { - kafka.close(); - } - IbmMqEndpoint mq = ibmMqEndpoint; - if (mq != null) { - mq.close(); - } - } - - private KafkaEndpoint getKafkaEndpoint() { - KafkaEndpoint current = kafkaEndpoint; - if (current == null) { - synchronized (endpointLock) { - current = kafkaEndpoint; - if (current == null) { - current = new KafkaEndpoint(store); - kafkaEndpoint = current; - } - } - } - return current; - } - - private IbmMqEndpoint getIbmMqEndpoint() { - IbmMqEndpoint current = ibmMqEndpoint; - if (current == null) { - synchronized (endpointLock) { - current = ibmMqEndpoint; - if (current == null) { - current = new IbmMqEndpoint(store); - ibmMqEndpoint = current; - } - } - } - return current; - } - - private String requireConfig(String key) { - return Optional.ofNullable(store.getConfig(key)) - .filter(v -> !Objects.equals(v.trim(), "")) - .orElseThrow(() -> new IllegalStateException("Missing required config: " + key)); - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/endpoints/payment_engine/PaeMqEndpoint.java b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/payment_engine/PaeMqEndpoint.java new file mode 100644 index 0000000..e077578 --- /dev/null +++ b/test-harness/src/main/java/cz/moneta/test/harness/endpoints/payment_engine/PaeMqEndpoint.java @@ -0,0 +1,51 @@ +package cz.moneta.test.harness.endpoints.payment_engine; + +import cz.moneta.test.harness.connectors.rest.RestConnector; +import cz.moneta.test.harness.connectors.rest.SimpleRestConnector; +import cz.moneta.test.harness.context.StoreAccessor; +import cz.moneta.test.harness.endpoints.RestEndpoint; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.core.GenericType; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.Map; +import java.util.Optional; + +public class PaeMqEndpoint implements RestEndpoint { + + private RestConnector restConnector; + private StoreAccessor store; + + public PaeMqEndpoint(StoreAccessor store) { + this.store = store; + String endpointName = "endpoints.pae-mq.url"; + this.restConnector = Optional.ofNullable(store.getConfig(endpointName)) + .map(url -> new SimpleRestConnector(url, "PaeMqServerLogger")) + .orElseThrow(() -> new IllegalStateException("You need to configure " + endpointName + " to work with PAE IBM MQ server")); + } + + @Override + public Pair get(String path, Map properties, Class responseType, Map headers) { + return restConnector.get(path, properties, new GenericType<>(responseType), headers); + } + + @Override + public Pair post(String path, Entity request, Class responseType, Map headers, boolean rawResponse) { + return restConnector.post(path, request, new GenericType<>(responseType), headers); + } + + @Override + public Pair delete(String path, Map properties, Class responseType, Map headers) { + return restConnector.delete(path, properties, new GenericType<>(responseType), headers); + } + + @Override + public Pair patch(String path, Entity request, Class responseType, Map headers, boolean rawResponse) { + return restConnector.patch(path, request, new GenericType<>(responseType), headers); + } + + @Override + public StoreAccessor getStore() { + return store; + } +} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/exception/MessagingTimeoutException.java b/test-harness/src/main/java/cz/moneta/test/harness/exception/MessagingTimeoutException.java deleted file mode 100644 index 4b47d5a..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/exception/MessagingTimeoutException.java +++ /dev/null @@ -1,8 +0,0 @@ -package cz.moneta.test.harness.exception; - -public class MessagingTimeoutException extends HarnessException { - - public MessagingTimeoutException(String message) { - super(message); - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Destination.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Destination.java deleted file mode 100644 index c3ac10b..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Destination.java +++ /dev/null @@ -1,22 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -import java.util.Objects; - -public abstract class Destination { - - private final String name; - private final String type; - - protected Destination(String name, String type) { - this.name = Objects.requireNonNull(name, "name"); - this.type = Objects.requireNonNull(type, "type"); - } - - public String getName() { - return name; - } - - public String getType() { - return type; - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MessageContentType.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MessageContentType.java deleted file mode 100644 index 9c07351..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MessageContentType.java +++ /dev/null @@ -1,7 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -public enum MessageContentType { - JSON, - XML, - RAW_TEXT -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MqMessageFormat.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MqMessageFormat.java deleted file mode 100644 index 4d43dcb..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/MqMessageFormat.java +++ /dev/null @@ -1,18 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -import java.util.Locale; -import java.util.Optional; - -public enum MqMessageFormat { - JSON, - XML, - EBCDIC_870, - UTF8_1208; - - public static MqMessageFormat fromConfig(String value, MqMessageFormat defaultValue) { - return Optional.ofNullable(value) - .map(v -> v.toUpperCase(Locale.ROOT).replace('-', '_')) - .map(MqMessageFormat::valueOf) - .orElse(defaultValue); - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Queue.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Queue.java deleted file mode 100644 index 538a3f2..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Queue.java +++ /dev/null @@ -1,23 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -import java.util.Objects; - -public class Queue extends Destination { - - private final String queueName; - private final MqMessageFormat format; - - public Queue(String name, String queueName, MqMessageFormat format) { - super(name, "ibmmq"); - this.queueName = Objects.requireNonNull(queueName, "queueName"); - this.format = Objects.requireNonNull(format, "format"); - } - - public String getQueueName() { - return queueName; - } - - public MqMessageFormat getFormat() { - return format; - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/ReceivedMessage.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/ReceivedMessage.java deleted file mode 100644 index f19a918..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/ReceivedMessage.java +++ /dev/null @@ -1,167 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.MissingNode; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import org.apache.commons.lang3.StringUtils; - -import javax.xml.XMLConstants; -import javax.xml.namespace.NamespaceContext; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathFactory; -import java.io.StringReader; -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -public class ReceivedMessage { - - private static final Pattern ARRAY_NODE_PATTERN = Pattern.compile("(.*?)\\[([0-9]*?)\\]"); - private static final ObjectMapper JSON_MAPPER = new ObjectMapper(); - private static final XmlMapper XML_MAPPER = new XmlMapper(); - - private final String body; - private final MessageContentType contentType; - private final Map headers; - private final long timestamp; - private final String source; - - public ReceivedMessage(String body, - MessageContentType contentType, - Map headers, - long timestamp, - String source) { - this.body = Optional.ofNullable(body).orElse(""); - this.contentType = Objects.requireNonNull(contentType, "contentType"); - this.headers = Collections.unmodifiableMap(new LinkedHashMap<>(Optional.ofNullable(headers).orElseGet(Collections::emptyMap))); - this.timestamp = timestamp; - this.source = Optional.ofNullable(source).orElse(""); - } - - public JsonNode extractJson(String path) { - JsonNode root = readJsonLikeNode(); - return extractNode(path, root); - } - - public String extractXml(String xpathExpression) { - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); - factory.setNamespaceAware(false); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document document = builder.parse(new InputSource(new StringReader(body))); - XPath xpath = XPathFactory.newInstance().newXPath(); - xpath.setNamespaceContext(new EmptyNamespaceContext()); - return String.valueOf(xpath.evaluate(xpathExpression, document, XPathConstants.STRING)); - } catch (Exception e) { - throw new IllegalStateException("Failed to extract xml value for expression: " + xpathExpression, e); - } - } - - public String extract(String expression) { - return switch (contentType) { - case JSON -> extractJson(expression).asText(); - case XML -> extractXml(expression); - case RAW_TEXT -> body; - }; - } - - public T mapTo(Class type) { - try { - return switch (contentType) { - case JSON -> JSON_MAPPER.readValue(body, type); - case XML -> XML_MAPPER.readValue(body, type); - case RAW_TEXT -> { - if (String.class.equals(type)) { - yield type.cast(body); - } - throw new IllegalStateException("RAW_TEXT can only be mapped to String"); - } - }; - } catch (Exception e) { - throw new IllegalStateException("Failed to map message body", e); - } - } - - public String getBody() { - return body; - } - - public MessageContentType getContentType() { - return contentType; - } - - public Map getHeaders() { - return headers; - } - - public long getTimestamp() { - return timestamp; - } - - public String getSource() { - return source; - } - - private JsonNode readJsonLikeNode() { - try { - return switch (contentType) { - case JSON -> JSON_MAPPER.readTree(body); - case XML -> XML_MAPPER.readTree(body.getBytes()); - case RAW_TEXT -> { - if (StringUtils.isBlank(body)) { - yield MissingNode.getInstance(); - } - yield JSON_MAPPER.readTree(body); - } - }; - } catch (Exception e) { - throw new IllegalStateException("Unable to parse message as JSON-like content", e); - } - } - - private static JsonNode extractNode(String path, JsonNode rootNode) { - return Arrays.stream(path.split("\\.")) - .filter(StringUtils::isNotEmpty) - .reduce(rootNode, - (r, p) -> { - Matcher matcher = ARRAY_NODE_PATTERN.matcher(p); - if (matcher.find()) { - return r.path(matcher.group(1)).path(Integer.parseInt(matcher.group(2))); - } - return r.path(p); - }, - (j1, j2) -> j1); - } - - private static final class EmptyNamespaceContext implements NamespaceContext { - - @Override - public String getNamespaceURI(String prefix) { - return XMLConstants.NULL_NS_URI; - } - - @Override - public String getPrefix(String namespaceURI) { - return ""; - } - - @Override - public Iterator getPrefixes(String namespaceURI) { - return Collections.emptyIterator(); - } - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Topic.java b/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Topic.java deleted file mode 100644 index 8f1a0c8..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/messaging/model/Topic.java +++ /dev/null @@ -1,17 +0,0 @@ -package cz.moneta.test.harness.messaging.model; - -import java.util.Objects; - -public class Topic extends Destination { - - private final String topicName; - - public Topic(String name, String topicName) { - super(name, "kafka"); - this.topicName = Objects.requireNonNull(topicName, "topicName"); - } - - public String getTopicName() { - return topicName; - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/support/messaging/MessagingRequest.java b/test-harness/src/main/java/cz/moneta/test/harness/support/messaging/MessagingRequest.java deleted file mode 100644 index 768d974..0000000 --- a/test-harness/src/main/java/cz/moneta/test/harness/support/messaging/MessagingRequest.java +++ /dev/null @@ -1,193 +0,0 @@ -package cz.moneta.test.harness.support.messaging; - -import cz.moneta.test.harness.endpoints.messaging.MessagingEndpoint; -import cz.moneta.test.harness.messaging.model.MqMessageFormat; -import cz.moneta.test.harness.messaging.model.ReceivedMessage; -import cz.moneta.test.harness.support.util.FileReader; -import cz.moneta.test.harness.support.util.Template; -import org.junit.jupiter.api.Assertions; - -import java.time.Duration; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.function.Predicate; - -public final class MessagingRequest { - - private static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(30); - - private final MessagingEndpoint endpoint; - private String destinationName; - private String key; - private String payload; - private Duration timeout = DEFAULT_TIMEOUT; - private final Map headers = new LinkedHashMap<>(); - private MqMessageFormat formatOverride; - private Predicate receiveFilter; - private ReceivedMessage receivedMessage; - private boolean receivePending; - private Mode mode = Mode.UNSET; - - private MessagingRequest(MessagingEndpoint endpoint) { - this.endpoint = endpoint; - } - - public static MessagingRequest builder(MessagingEndpoint endpoint) { - return new MessagingRequest(endpoint); - } - - public MessagingRequest to(String destinationName) { - this.destinationName = destinationName; - this.mode = Mode.SEND; - resetReceiveState(); - return this; - } - - public MessagingRequest from(String destinationName) { - this.destinationName = destinationName; - this.mode = Mode.RECEIVE; - resetReceiveState(); - return this; - } - - public MessagingRequest withKey(String key) { - this.key = key; - return this; - } - - public MessagingRequest withPayload(String payload) { - this.payload = payload; - return this; - } - - public MessagingRequest withPayloadFromTemplate(Template template) { - this.payload = template.render(); - return this; - } - - public MessagingRequest withPayloadFromFile(String path) { - this.payload = FileReader.readFileFromResources(path); - return this; - } - - public MessagingRequest withHeader(String key, String value) { - this.headers.put(key, value); - return this; - } - - public MessagingRequest withTraceparent(String value) { - return withHeader("traceparent", value); - } - - public MessagingRequest withRequestID(String value) { - return withHeader("requestID", value); - } - - public MessagingRequest withActivityID(String value) { - return withHeader("activityID", value); - } - - public MessagingRequest withSourceCodebookId(String value) { - return withHeader("sourceCodebookId", value); - } - - public MessagingRequest asJson() { - this.formatOverride = MqMessageFormat.JSON; - return this; - } - - public MessagingRequest asXml() { - this.formatOverride = MqMessageFormat.XML; - return this; - } - - public MessagingRequest asEbcdic() { - this.formatOverride = MqMessageFormat.EBCDIC_870; - return this; - } - - public MessagingRequest asUtf8() { - this.formatOverride = MqMessageFormat.UTF8_1208; - return this; - } - - public MessagingRequest withTimeout(long value, TimeUnit unit) { - this.timeout = Duration.ofMillis(unit.toMillis(value)); - if (receivePending && receivedMessage == null) { - doReceive(); - } - return this; - } - - public MessagingRequest send() { - ensureMode(Mode.SEND); - if (payload == null) { - throw new IllegalStateException("Message payload must be provided before send()"); - } - endpoint.send(destinationName, key, payload, formatOverride, headers); - return this; - } - - public MessagingRequest receiveWhere(Predicate filter) { - ensureMode(Mode.RECEIVE); - this.receiveFilter = filter; - this.receivePending = true; - this.receivedMessage = null; - return this; - } - - public MessagingRequest andAssertFieldValue(String expression, String expectedValue) { - ReceivedMessage message = getReceivedMessage(); - Assertions.assertEquals(expectedValue, - message.extract(expression), - String.format("Unexpected message field value for '%s'. Message body: %s", expression, message.getBody())); - return this; - } - - public String extract(String expression) { - return getReceivedMessage().extract(expression); - } - - public ReceivedMessage getReceivedMessage() { - ensureMode(Mode.RECEIVE); - if (receivedMessage == null) { - doReceive(); - } - return receivedMessage; - } - - private void doReceive() { - if (!receivePending) { - receiveFilter = msg -> true; - receivePending = true; - } - - receivedMessage = endpoint.receive( - destinationName, - Optional.ofNullable(receiveFilter).orElse(msg -> true), - timeout, - formatOverride - ); - receivePending = false; - } - - private void ensureMode(Mode requiredMode) { - if (this.mode != requiredMode) { - throw new IllegalStateException("Messaging request is not in " + requiredMode + " mode"); - } - } - - private void resetReceiveState() { - this.receiveFilter = null; - this.receivedMessage = null; - this.receivePending = false; - } - - private enum Mode { - UNSET, - SEND, - RECEIVE - } -} diff --git a/test-harness/src/main/java/cz/moneta/test/harness/support/util/Template.java b/test-harness/src/main/java/cz/moneta/test/harness/support/util/Template.java index 371ff7e..755f9bd 100644 --- a/test-harness/src/main/java/cz/moneta/test/harness/support/util/Template.java +++ b/test-harness/src/main/java/cz/moneta/test/harness/support/util/Template.java @@ -14,7 +14,7 @@ public class Template { } public Template(String templateString) { - this.template = new ST(templateString, '$', '$'); + this.template = new ST(templateString); } public Template set(String variable, String value) { diff --git a/tests/.checkstyle b/tests/.checkstyle deleted file mode 100644 index 5783bc0..0000000 --- a/tests/.checkstyle +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tests/pom.xml b/tests/pom.xml index c0a6c9f..e386412 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -1,301 +1,239 @@ - - 4.0.0 - cz.moneta.test - tests - 2.28-SNAPSHOT - - 7.55-SNAPSHOT - UTF-8 - 1.5.1 - 9.4.5.0 - - - - cz.moneta.test - harness - ${harness.version} - - - com.ibm.mq - com.ibm.mq.allclient - ${ibm.mq.version} - - - - org.antlr - ST4 - 4.3.4 - - - javax.jms - javax.jms-api - 2.0.1 - - - org.slf4j - slf4j-api - 1.7.25 - - - com.fasterxml.jackson.dataformat - jackson-dataformat-csv - 2.16.1 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.16.1 - - - org.projectlombok - lombok - 1.18.30 - provided - - - com.microsoft.sqlserver - mssql-jdbc_auth - 8.2.0.x86 - dll - - - org.jetbrains - annotations - 15.0 - - - org.junit.platform - junit-platform-reporting - ${junit.platform.version} - - - org.junit.platform - junit-platform-console - ${junit.platform.version} - - - org.yaml - snakeyaml - 1.26 - - - - - Moneta Artifactory - - true - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.9.0 - - - install - - copy-dependencies - - - - ${project.build.directory}/lib - runtime - - - - - - maven-compiler-plugin - 3.13.0 - - 17 - 17 - - - - maven-surefire-plugin - 2.22.2 - - - --add-opens - java.base/java.lang.invoke=ALL-UNNAMED - -Dhttp.proxyHost=wsa-aws.mbid.cz - -Dhttp.proxyPort=8008 - -Dhttps.proxyHost=wsa-aws.mbid.cz - -Dhttps.proxyPort=8008 - -Dhttp.nonProxyHosts="elasticclusterawscoord*|elasticclusterawsingest*|jenkinslivex*|cbltstx|vault|vault.svc.k8s.moneta-containers.net|selenium-hub.svc.k8s.moneta-containers.net|jira*|d000*|x000*|l000*|digdev*|r000|spii-live-significant|mbczvl1dl0ihat3.ux.mbid.cz|mbczvl1dl0ihet3.ux.mbid.cz|wso2-fve-gw.ux.mbid.cz|wso2eifve.lb.mbid.cz|wso2eippe.lb.mbid.cz|wso2-ppe-gw.ux.mbid.cz|mbczvl0bl0enin3.ux.mbid.cz|wso2-tst1-gw.ux.mbid.cz|wso2eitst1.lb.mbid.cz|wso2-edu-gw.ux.mbid.cz|mbczvl0bl0enin5.ux.mbid.cz|mbczvl1dl0enin6.ux.mbid.cz|wso2api01-wso2-02.ux.mbid.cz|api-szr.tst.moneta-containers.net|api-szr.ppe.moneta-containers.net|docker1|mbczvl1dl0mockt.ux.mbid.cz|api.tst.moneta-containers.net|api.ppe.moneta-containers.net" - - - cz.moneta.test.sandbox.demo.HarnessDemoTest.java - - false - false - - - - - - - - false - - - true - - confluent - Confluent Hub - https://packages.confluent.io/maven/ - - - - false - - - true - - mcentral - Maven Central - https://repo1.maven.org/maven2/ - - - - false - - - true - - mvnrepo - MVN Repository - https://mvnrepository.com/artifact/ - - - - - - true - - - false - - central - plugins-release - - https://artifactory-aws.ux.mbid.cz/artifactory/plugins-release - - - - false - - - true - - snapshots - plugins-snapshot - - https://artifactory-aws.ux.mbid.cz/artifactory/plugins-snapshot - - - - - build.package - - - build.package - true - - - - - - maven-compiler-plugin - 3.13.0 - - 17 - 17 - - - - maven-assembly-plugin - 3.6.0 - - - package - - single - - - - - - cz.moneta.test.testrunner.TestRunner - - - - src/assembly/assembly.xml - - - - - - - - - - - true - - - false - - central - libs-release - - https://artifactory-aws.ux.mbid.cz/artifactory/libs-release - - - - false - - - true - - snapshots - libs-snapshot - - https://artifactory-aws.ux.mbid.cz/artifactory/libs-snapshot - - - - - - true - - - false - - central - plugins-release - - https://artifactory-aws.ux.mbid.cz/artifactory/plugins-release - - - - false - - - true - - snapshots - plugins-snapshot - - https://artifactory-aws.ux.mbid.cz/artifactory/plugins-snapshot - - - - + + 4.0.0 + cz.moneta.test + tests + 2.29-SNAPSHOT + + 7.55.820 + UTF-8 + 1.5.1 + + + + cz.moneta.test + harness + ${harness.version} + + + org.slf4j + slf4j-api + 1.7.25 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-csv + 2.16.1 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.16.1 + + + org.projectlombok + lombok + 1.18.30 + provided + + + com.microsoft.sqlserver + mssql-jdbc_auth + 8.2.0.x86 + dll + + + org.jetbrains + annotations + 15.0 + + + org.junit.platform + junit-platform-reporting + ${junit.platform.version} + + + org.junit.platform + junit-platform-console + ${junit.platform.version} + + + org.yaml + snakeyaml + 1.26 + + + + + Moneta Artifactory + + true + + + + + maven-compiler-plugin + 3.13.0 + + 17 + 17 + + + + maven-surefire-plugin + 2.22.2 + + --add-opens java.base/java.lang.invoke=ALL-UNNAMED -Dhttp.proxyHost=wsa-aws.mbid.cz -Dhttp.proxyPort=8008 -Dhttps.proxyHost=wsa-aws.mbid.cz -Dhttps.proxyPort=8008 + -Dhttp.nonProxyHosts="elasticclusterawscoord*|elasticclusterawsingest*|jenkinslivex*|cbltstx|vault|vault.svc.k8s.moneta-containers.net|selenium-hub.svc.k8s.moneta-containers.net|jira*|d000*|x000*|l000*|digdev*|r000|spii-live-significant|mbczvl1dl0ihat3.ux.mbid.cz|mbczvl1dl0ihet3.ux.mbid.cz|wso2-fve-gw.ux.mbid.cz|wso2eifve.lb.mbid.cz|wso2eippe.lb.mbid.cz|wso2-ppe-gw.ux.mbid.cz|mbczvl0bl0enin3.ux.mbid.cz|wso2-tst1-gw.ux.mbid.cz|wso2eitst1.lb.mbid.cz|wso2-edu-gw.ux.mbid.cz|mbczvl0bl0enin5.ux.mbid.cz|mbczvl1dl0enin6.ux.mbid.cz|wso2api01-wso2-02.ux.mbid.cz|api-szr.tst.moneta-containers.net|api-szr.ppe.moneta-containers.net|docker1|mbczvl1dl0mockt.ux.mbid.cz|api.tst.moneta-containers.net|api.ppe.moneta-containers.net" + + cz.moneta.test.sandbox.demo.HarnessDemoTest.java + + false + false + + + + + + + + true + + + false + + central + libs-release + https://artifactory-aws.ux.mbid.cz/artifactory/libs-release + + + + false + + + true + + snapshots + libs-snapshot + https://artifactory-aws.ux.mbid.cz/artifactory/libs-snapshot + + + + + + true + + + false + + central + plugins-release + https://artifactory-aws.ux.mbid.cz/artifactory/plugins-release + + + + false + + + true + + snapshots + plugins-snapshot + https://artifactory-aws.ux.mbid.cz/artifactory/plugins-snapshot + + + + + build.package + + + build.package + true + + + + + + maven-compiler-plugin + 3.13.0 + + 17 + 17 + + + + maven-assembly-plugin + 3.6.0 + + + package + + single + + + + + cz.moneta.test.testrunner.TestRunner + + + + src/assembly/assembly.xml + + + + + + + + + + + true + + + false + + central + libs-release + https://artifactory-aws.ux.mbid.cz/artifactory/libs-release + + + + false + + + true + + snapshots + libs-snapshot + https://artifactory-aws.ux.mbid.cz/artifactory/libs-snapshot + + + + + + true + + + false + + central + plugins-release + https://artifactory-aws.ux.mbid.cz/artifactory/plugins-release + + + + false + + + true + + snapshots + plugins-snapshot + https://artifactory-aws.ux.mbid.cz/artifactory/plugins-snapshot + + + + diff --git a/tests/src/main/java/cz/moneta/test/dsl/Harness.java b/tests/src/main/java/cz/moneta/test/dsl/Harness.java index 2a2fc9f..33e570a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/Harness.java +++ b/tests/src/main/java/cz/moneta/test/dsl/Harness.java @@ -7,7 +7,7 @@ import cz.moneta.test.dsl.auto.smartauto.setman.SmartAutoSetman; import cz.moneta.test.dsl.broadcom.Broadcom; import cz.moneta.test.dsl.brokerportal.BrokerPortal; import cz.moneta.test.dsl.caapi.CaApiBuilder; -import cz.moneta.test.dsl.cagw.CaGwBuilder; +import cz.moneta.test.dsl.cagw.CaGw; import cz.moneta.test.dsl.cashman.Cashman; import cz.moneta.test.dsl.cebia.Cebia; import cz.moneta.test.dsl.demo.Spirits; @@ -25,7 +25,6 @@ import cz.moneta.test.dsl.ib.Ib; import cz.moneta.test.dsl.ilods.Ilods; import cz.moneta.test.dsl.kasanova.Kasanova; import cz.moneta.test.dsl.mobile.smartbanking.home.Sb; -import cz.moneta.test.dsl.messaging.Messaging; import cz.moneta.test.dsl.monetaapiportal.MonetaApiPortal; import cz.moneta.test.dsl.monetaportal.MonetaPortal; import cz.moneta.test.dsl.mwf.IHub; @@ -111,8 +110,8 @@ public class Harness extends BaseStoreAccessor { return new CaApiBuilder(this); } - public CaGwBuilder withCaGw() { - return new CaGwBuilder(this); + public CaGw withCaGw() { + return new CaGw(this); } @Deprecated @@ -283,10 +282,6 @@ public class Harness extends BaseStoreAccessor { return new Cashman(this); } - public Messaging withMessaging() { - return new Messaging(this); - } - private void initGenerators() { addGenerator(RC, new RcGenerator()); addGenerator(FIRST_NAME, new FirstNameGenerator()); diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/NewCalculationPage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/NewCalculationPage.java index 148f5fc..3ce2ce4 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/NewCalculationPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/NewCalculationPage.java @@ -47,7 +47,7 @@ public interface NewCalculationPage extends SmartAutoFlow, S String VEHICLE_REGISTRATION_DATE_CHOOSE_BUTTON = "//button//span[contains(text(), 'Vybrat')]"; String VEHICLE_FINANCE_PRODUCT = "(//DIV//p//span[contains(text(), 'Vyberte záznam ...')])[1]"; String VEHICLE_FINANCE_PRODUCT_CHOOSE_BUTTON_DEFAULT = "(//div/h3[contains(text(), '%s')])/..//following-sibling::div//button//span[contains(text(), 'Vybrat')][1]/.."; - String VEHICLE_CAR_INSURANCE = "//span[contains(text(),'Povinné ručení')]/following-sibling::div/div[contains(text(),'Vyberte záznam ...')][1]"; + String VEHICLE_CAR_INSURANCE = "//h4/following-sibling::div/div[contains(text(),'Vyberte záznam ...')][1]"; String VEHICLE_CAR_ACCIDENT_INSURANCE = "(//DIV//p//span[contains(text(), 'Vyberte záznam ...')])[1]"; String VEHICLE_CAR_BENEFITS = "(//DIV//p//span[contains(text(), 'Vyberte záznam ...')])[1]"; String VEHICLE_CAR_BENEFITS_OPTION_DEFAULT = "(//label//span[contains(text(), '%s')])[1]/.."; @@ -75,6 +75,7 @@ public interface NewCalculationPage extends SmartAutoFlow, S String VEHICLE_CAR_INSURANCE_VEHICLE_SECOND_FUEL_TYPE_CHOOSE = "//label[contains(.,'Palivo')]/../div/ul/li[contains(.,'%s')]"; String VEHICLE_CAR_INSURANCE_VEHICLE_SEARCH_NO_VIN = "//button[contains(.,'Vyhledat')]"; String VEHICLE_CAR_INSURANCE_VEHICLE_VOLUME_AGRO = "//label[contains(.,'Objem')]/following-sibling::div/div/input"; + String VEHICLE_CAR_INSURANCE_VEHICLE_NUMBER_OF_SEATS = "//label[contains(.,'Počet sedadel')]/following-sibling::div/div/input"; String VEHICLE_CAR_INSURANCE_VEHICLE_POWER_AGRO = "//label[contains(.,'Výkon')]/following-sibling::div/div/input"; String VEHICLE_CAR_INSURANCE_VEHICLE_WEIGHT_AGRO = "//label[contains(.,'Hmotnost')]/following-sibling::div/div/input"; String VEHICLE_CAR_INSURANCE_VEHICLE_FUEL_AGRO = "//label[contains(.,'Palivo')]/following-sibling::div/button"; @@ -84,7 +85,8 @@ public interface NewCalculationPage extends SmartAutoFlow, S String VEHICLE_CAR_INSURANCE_INSURANCE_HAV_FIELD_CHOOSE_DEFAULT = "//h4[contains(.,'Havarijní pojištění')]/../../../../div[2]/div[2]/div/div/section/div/div/div/button"; String VEHICLE_CAR_INSURANCE_INSURANCE_POV_FIELD_DEFAULT = "//h4[contains(.,'Povinné ručení')]/../../../../div[2]/div[1]/div/div[1]/section/h4/button/span[2]"; String VEHICLE_CAR_INSURANCE_INSURANCE_POV_FIELD_CHOOSE_DEFAULT = "//h4[contains(.,'Povinné ručení')]/../../../../div[2]/div[1]/div/div/section/div/div/div/button"; - String VEHICLE_CAR_INSURANCE_INSURANCE_CHOOSE = "//section[@data-testid='Tabs']/div[2]/div[3]/div/div[3]/div/div/button[contains(.,'Vybrat')]"; + String VEHICLE_CAR_INSURANCE_INSURANCE_CHOOSE = "//section[@data-testid='Collapse']//button[contains(text(),'Vybrat')]"; + String VEHICLE_CAR_INSURANCE_INSURANCE_CLOSE = "/html/body/aside[1]/div/div/div[2]/div/div/button[contains(text(),'Zavřít')]"; String CREATE_APPLICATION = "//span[contains(text(), 'Vytvořit žádost')]/parent::button"; String DIV_CLICK_BLOCKER = "//div[@class='_21KP5GbzHYNm19YwGmWy0r']"; String DIV_CLICK_BLOCKER_2 = "//div[@class='_3Lp0XIzdhx1ktbMqO92O8T']"; @@ -251,8 +253,8 @@ public interface NewCalculationPage extends SmartAutoFlow, S @TypeInto(value = VEHICLE_CAR_INSURANCE_CUSTOMER_NATIONALITY, clear = true) NewCalculationPage typeVehicleInsuranceCustomerNationality(String nationality); - @Wait(VEHICLE_CAR_INSURANCE_CUSTOMER_NATIONALITY_FIELD) - @Click(value = VEHICLE_CAR_INSURANCE_CUSTOMER_NATIONALITY_FIELD) + @Wait(value = VEHICLE_CAR_INSURANCE_CUSTOMER_NATIONALITY_FIELD) + @Click(value = VEHICLE_CAR_INSURANCE_CUSTOMER_NATIONALITY_FIELD, jsClick = true) NewCalculationPage clickVehicleInsuranceCustomerNationality(); @Wait(VEHICLE_CAR_INSURANCE_CUSTOMER_ADDRESS) @@ -271,9 +273,12 @@ public interface NewCalculationPage extends SmartAutoFlow, S @TypeInto(value = VEHICLE_CAR_INSURANCE_VEHICLE_VOLUME_AGRO) NewCalculationPage typeVehicleInsuranceVehicleVolume(String volume); + @Wait(VEHICLE_CAR_INSURANCE_VEHICLE_TAB) + @TypeInto(value = VEHICLE_CAR_INSURANCE_VEHICLE_NUMBER_OF_SEATS) + NewCalculationPage typeVehicleInsuranceVehicleNumberOfSeats(String numberOfSeats); @Wait(VEHICLE_CAR_INSURANCE_VEHICLE_TAB) - @TypeInto(value = VEHICLE_CAR_INSURANCE_VEHICLE_POWER_AGRO) + @TypeInto(value = VEHICLE_CAR_INSURANCE_VEHICLE_POWER_AGRO, andWait = @Wait(explicitWaitSeconds = 2)) NewCalculationPage typeVehicleInsuranceVehiclePower(String power); @Wait(VEHICLE_CAR_INSURANCE_VEHICLE_TAB) @@ -345,6 +350,10 @@ public interface NewCalculationPage extends SmartAutoFlow, S @Click(value = VEHICLE_CAR_INSURANCE_INSURANCE_CHOOSE,jsClick = true) NewCalculationPage clickVehicleInsuranceInsuranceChoose(); + @Wait(value = VEHICLE_CAR_INSURANCE_INSURANCE_CLOSE, waitSecondsForElement = 30) + @Click(value = VEHICLE_CAR_INSURANCE_INSURANCE_CLOSE,jsClick = true) + NewCalculationPage clickVehicleInsuranceInsuranceClose(); + @Wait(value = {DIV_CLICK_BLOCKER, DIV_CLICK_BLOCKER_2}, until = Until.GONE, waitSecondsForElement = 30) @Wait(value = VEHICLE_CAR_ACCIDENT_INSURANCE, waitSecondsForElement = 30) @Click(value = VEHICLE_CAR_ACCIDENT_INSURANCE, andWait = @Wait(value = CommonElements.MODAL, waitSecondsForElement = 30)) diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/OthersPage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/OthersPage.java index b203d0e..4843470 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/OthersPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/OthersPage.java @@ -14,7 +14,7 @@ public interface OthersPage extends SmartAutoFlow { String ACCOUNT_NUMBER = "//input[@name='sign.bankContactC2C.accountNumber']"; String BANK_CODE = "//span[contains(text(), 'Kód banky')]/../../..//input"; String BUTTON = "//button[contains(text(), '%s')]"; - String APPROVAL_MESSAGE = "//span[contains(text(), 'Zpráva pro schvalovatele')]/../../../textarea"; + String APPROVAL_MESSAGE = "//h6[contains(text(), 'Zpráva pro schvalovatele')]/../../../div/div/span/textarea"; String VEHICLE_PAGE = "//span[contains(text(), 'Předmět')]"; String DUPLICATE_APPLICATION = "//span[contains(text(), 'Duplikovat')]"; String CALCULATION_NAME = "//input[@name='calculationName']"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/QueuePage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/QueuePage.java index 8492fcb..c1e0b1e 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/QueuePage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/QueuePage.java @@ -13,7 +13,7 @@ import static cz.moneta.test.dsl.auto.smartauto.QueuePage.*; waitSecondsForElement = 40) public interface QueuePage extends SmartAutoFlow, StoreAccessor, CalendarAccessor { - String HEADING_SEND_APPLICATIONS = "//span[contains(text(), 'Odeslané žádosti')]"; + String HEADING_SEND_APPLICATIONS = "//h1[contains(text(), 'Odeslané žádosti')]"; String FIRST_APPLICATION = "//div/div/div/button/i"; String DATE_FROM = "//label[contains(., 'Datum od')]/following-sibling::div/button"; String DATE_TO = "//label[contains(., 'Datum do')]/following-sibling::div/button"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/SavedCalculationsPage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/SavedCalculationsPage.java index e9e7beb..60c7a24 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/SavedCalculationsPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/SavedCalculationsPage.java @@ -6,11 +6,11 @@ import cz.moneta.test.harness.support.web.*; public interface SavedCalculationsPage extends SmartAutoFlow, StoreAccessor, CalendarAccessor { - String HEADING_SAVED_CALCULATIONS = "//h1/span[contains(text(), 'Kalkulace')]"; - String FIRST_APPLICATION_DIV = "//h2/../div[1]/div/"; - String CALCULATION_NAME = FIRST_APPLICATION_DIV + "div/div[1]"; - String CALCULATION_STATUS = FIRST_APPLICATION_DIV + "/span/span[contains(text(), 'Rozpracovaná žádost')]"; - String CALCULATION_DATE = FIRST_APPLICATION_DIV + "div/div[5]"; + String HEADING_SAVED_CALCULATIONS = "//h1[contains(text(), 'Kalkulace')]"; + String FIRST_APPLICATION_DIV = "/html/body/div[1]/div[1]/div/div/div[1]/div[2]/div[1]/div/div[1]"; + String CALCULATION_NAME = FIRST_APPLICATION_DIV + "/div[2]/div[contains(text(), 'TestDuplikace')]"; + String CALCULATION_STATUS = FIRST_APPLICATION_DIV + "//span[contains(text(), 'Rozpracovaná žádost')]"; + String CALCULATION_DATE = FIRST_APPLICATION_DIV + "/div[3]/div[2]"; String DATE_FROM = "//label[contains(., 'Datum od')]/following-sibling::div/button"; String DATE_TO = "//label[contains(., 'Datum do')]/following-sibling::div/button"; String SEARCH_BUTTON = "//button[@testid='bbutton' and span[text()='Zobrazit']]"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/VehiclePage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/VehiclePage.java index f5e1522..38e729e 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/VehiclePage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/VehiclePage.java @@ -31,7 +31,7 @@ public interface VehiclePage extends SmartAutoFlow, StoreAccessor { String SEATS = "//input[@name='vehicle.specificCar.sittingPlaceNr']"; String FUEL = "(//span[contains(text(), 'Palivo')])[2]/../..//following-sibling::div//input[@value='%s']"; String MILEAGE = "//input[@name='vehicle.specificCar.travel']"; - String IMPORT_VEHICLE = "//span[contains(text(), 'Vozidlo z dovozu')]/../../../div/div/span/button/span[contains(text(), '%s')]"; + String IMPORT_VEHICLE = "//span[contains(text(), 'Vozidlo z dovozu')]/../../../div/div/div/span/button//span[contains(text(), '%s')]/.."; String DEALER_IS_OWNER = "//span[contains(text(), 'Dealer je majitelem vozidla')]/../../..//span[contains(text(), '%s')]/.."; String DESCRIPTION = "//textarea[@name='vehicle.specificCar.description']"; String OTHERS_PAGE = "//span[contains(text(), 'Ostatní')]"; @@ -130,10 +130,10 @@ public interface VehiclePage extends SmartAutoFlow, StoreAccessor { @TypeInto(value = DESCRIPTION, andWait = @Wait(value = LOADER_DIV, until = Until.GONE)) VehiclePage typeDescription(String description); - @Click(IMPORT_VEHICLE) + @Click(value = IMPORT_VEHICLE, jsClick = true) VehiclePage clickImportVehicle(ImportVehicle importVehicle); - @Click(DEALER_IS_OWNER) + @Click(value = DEALER_IS_OWNER,jsClick = true) VehiclePage clickDealerIsOwner(DealerIsOwner dealerIsOwner); @Click(value = OTHERS_PAGE, jsClick = true) diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/cr/ForBillingPage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/cr/ForBillingPage.java index d54c4cd..ea0129a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/cr/ForBillingPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/cr/ForBillingPage.java @@ -23,8 +23,8 @@ public interface ForBillingPage extends SmartAutoFlow { String FROM_DATE_TEXT = "//span[contains(text(), 'Od data')]"; String TO_DATE_TEXT = "//span[contains(text(), 'Do data')]"; String COMMISSIONS_CREDIT_NOTES_TEXT = "//span[contains(text(), 'Provize/Dobropis')]"; - String FILTER_TITLE = "//span[contains(text(), 'Filtr')]"; - String BILLING_COMMISSIONS_TITLE = "//span[contains(text(), 'Provize k fakturaci')]"; + String FILTER_TITLE = "//h6[contains(text(), 'Filtr')]"; + String BILLING_COMMISSIONS_TITLE = "//h6[contains(text(), 'Fakturace')]"; String RESET_BUTTON = "//span[contains(text(), 'Resetovat')]"; String SEARCH_BUTTON = "//span[contains(text(), 'Vyhledat')]"; String INVOICE_BUTTON = "//span[contains(text(), 'Vyfakturovat')]"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/df/DashboardPage.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/df/DashboardPage.java index 3884a0a..947df1b 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/df/DashboardPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/df/DashboardPage.java @@ -25,7 +25,7 @@ public interface DashboardPage extends SmartAutoFlow { String TOTAL_AVAILABLE_LIMIT_TEXT = "//span[contains(text(), 'Volný limit')]"; String FOR_PAYMENT_TEXT = "//span[contains(text(), 'K úhradě')]"; String OVERDUE_PAYMENT_TEXT = "//span[contains(text(), 'Z toho po splatnosti')]"; - String PRODUCT_LIST_TITLE = "//span[contains(text(), 'Seznam produktů')]"; + String PRODUCT_LIST_TITLE = "//h6[contains(text(), 'Produkty')]"; String ALL_CONTRACT_BUTTON = "//span[contains(text(), 'Všechny zakázky')]"; @CheckElementsPresent(value = { diff --git a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/shared/CalculationData.java b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/shared/CalculationData.java index 7c52cc0..0cff0cf 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/shared/CalculationData.java +++ b/tests/src/main/java/cz/moneta/test/dsl/auto/smartauto/shared/CalculationData.java @@ -25,6 +25,7 @@ public class CalculationData { private Subsidy subsidy; private ItemType itemType; private int firstPayment; + private String numberOfSeats; public CalculationData setCustomer(Customer customer) { this.customer = customer; @@ -131,4 +132,8 @@ public class CalculationData { return this; } + public CalculationData setNumberOfSeats(String numberOfSeats) { + this.numberOfSeats = numberOfSeats; + return this; + } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGw.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGw.java new file mode 100644 index 0000000..44639e8 --- /dev/null +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGw.java @@ -0,0 +1,33 @@ +package cz.moneta.test.dsl.cagw; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.api.ApiBuilder; +import cz.moneta.test.dsl.cagw.auth.AuthBuilder; +import cz.moneta.test.dsl.cagw.oauth2.Oauth2Builder; +import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; +import cz.moneta.test.harness.support.rest.RawRestRequest; + +public class CaGw extends CaGwBuilder { + + public CaGw(Harness harness) { + super(harness); + } + + public ApiBuilder api() { + return new ApiBuilder(harness); + } + + public Oauth2Builder oauth2() { + return new Oauth2Builder(harness); + } + + public AuthBuilder auth() { + return new AuthBuilder(harness); + } + + public RawRestRequest.Path prepareRequest() { + CaGwEndpoint endpoint = harness.getEndpoint(CaGwEndpoint.class); + return RawRestRequest.jsonBuilder(endpoint); + } + +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGwBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGwBuilder.java index a1a7274..0149491 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGwBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/CaGwBuilder.java @@ -1,34 +1,20 @@ package cz.moneta.test.dsl.cagw; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.dsl.cagw.api.ApiBuilder; -import cz.moneta.test.dsl.cagw.auth.AuthBuilder; -import cz.moneta.test.dsl.cagw.oauth2.Oauth2Builder; import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; import cz.moneta.test.harness.support.rest.Builders; import cz.moneta.test.harness.support.rest.RestRequest; public class CaGwBuilder { - private final Harness harness; + protected final Harness harness; - public CaGwBuilder(Harness harness) { + protected CaGwBuilder(Harness harness) { this.harness = harness; } - public ApiBuilder api() { - return new ApiBuilder(harness); - } - - public Oauth2Builder oauth2() { - return new Oauth2Builder(harness); - } - - public AuthBuilder auth() { - return new AuthBuilder(harness); - } - - private > B getBuilder(Class builderClass) { + protected > B getBuilder(Class builderClass) { return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); } -} + +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/ApiBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/ApiBuilder.java index d867bf4..6478efb 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/ApiBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/ApiBuilder.java @@ -1,19 +1,16 @@ package cz.moneta.test.dsl.cagw.api; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.CblBuilder; import cz.moneta.test.dsl.cagw.api.v2.V2Builder; import cz.moneta.test.dsl.cagw.api.v4.V4Builder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; import cz.moneta.test.dsl.cagw.api.v1.V1Builder; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class ApiBuilder { - private final Harness harness; +public class ApiBuilder extends CaGwBuilder { public ApiBuilder(Harness harness) { - this.harness = harness; + super(harness); } public CblBuilder cbl() { @@ -32,7 +29,4 @@ public class ApiBuilder { return new V1Builder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/CblBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/CblBuilder.java index fdab623..99574f8 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/CblBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/CblBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.PsdBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class CblBuilder { - private final Harness harness; +public class CblBuilder extends CaGwBuilder { public CblBuilder(Harness harness) { - this.harness = harness; + super(harness); } public PsdBuilder psd() { return new PsdBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/PsdBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/PsdBuilder.java index 10973ca..3c5268b 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/PsdBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/PsdBuilder.java @@ -1,17 +1,14 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.AispBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.PispBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class PsdBuilder { - private final Harness harness; +public class PsdBuilder extends CaGwBuilder { public PsdBuilder(Harness harness) { - this.harness = harness; + super(harness); } public PispBuilder pisp() { @@ -22,7 +19,4 @@ public class PsdBuilder { return new AispBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/AispBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/AispBuilder.java index 384dfc8..2d9149c 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/AispBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/AispBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.aisp; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.MyBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class AispBuilder { - private final Harness harness; +public class AispBuilder extends CaGwBuilder { public AispBuilder(Harness harness) { - this.harness = harness; + super(harness); } public MyBuilder my() { return new MyBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/MyBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/MyBuilder.java index 8209c5d..80b8384 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/MyBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/MyBuilder.java @@ -1,19 +1,16 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.Account; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.AccountsBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.AccountsWithParams; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class MyBuilder { - private final Harness harness; +public class MyBuilder extends CaGwBuilder { public MyBuilder(Harness harness) { - this.harness = harness; + super(harness); } public AccountsBuilder accounts() { @@ -28,7 +25,4 @@ public class MyBuilder { return getBuilder(AccountsWithParams.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/AccountsBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/AccountsBuilder.java index 969255a..3d0f069 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/AccountsBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/AccountsBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.id.IdBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class AccountsBuilder { - private final Harness harness; +public class AccountsBuilder extends CaGwBuilder { public AccountsBuilder(Harness harness) { - this.harness = harness; + super(harness); } public IdBuilder id() { return new IdBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/id/IdBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/id/IdBuilder.java index 3ff8c8d..aca4ece 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/id/IdBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/aisp/my/accounts/id/IdBuilder.java @@ -1,18 +1,15 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.id; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.id.balance.Balance; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.id.transactions.Transactions; import cz.moneta.test.dsl.cagw.api.cbl.psd.aisp.my.accounts.id.transactions.TransactionsWithParams; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class IdBuilder { - private final Harness harness; +public class IdBuilder extends CaGwBuilder { public IdBuilder(Harness harness) { - this.harness = harness; + super(harness); } public Balance prepareBalanceRequest() { @@ -26,8 +23,5 @@ public class IdBuilder { public TransactionsWithParams prepareTransactionsWithParamsRequest() { return getBuilder(TransactionsWithParams.class); } - - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } + } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/PispBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/PispBuilder.java index 6eb9e22..1c1d174 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/PispBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/PispBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.pisp; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.MyBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class PispBuilder { - private final Harness harness; +public class PispBuilder extends CaGwBuilder { public PispBuilder(Harness harness) { - this.harness = harness; + super(harness); } public MyBuilder my() { return new MyBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/MyBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/MyBuilder.java index 1384d91..044a140 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/MyBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/MyBuilder.java @@ -1,17 +1,14 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments.Payment; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments.PaymentsBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class MyBuilder { - private final Harness harness; +public class MyBuilder extends CaGwBuilder { public MyBuilder(Harness harness) { - this.harness = harness; + super(harness); } public PaymentsBuilder payments() { @@ -22,7 +19,4 @@ public class MyBuilder { return getBuilder(Payment.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/PaymentsBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/PaymentsBuilder.java index 26ccb88..fc826a9 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/PaymentsBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/PaymentsBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments.paymentid.PaymentIdBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class PaymentsBuilder { - private final Harness harness; +public class PaymentsBuilder extends CaGwBuilder { public PaymentsBuilder(Harness harness) { - this.harness = harness; + super(harness); } public PaymentIdBuilder paymentId() { return new PaymentIdBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/paymentid/PaymentIdBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/paymentid/PaymentIdBuilder.java index 93bab6f..fd1a629 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/paymentid/PaymentIdBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/cbl/psd/pisp/my/payments/paymentid/PaymentIdBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments.paymentid; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.cbl.psd.pisp.my.payments.paymentid.status.Status; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class PaymentIdBuilder { - private final Harness harness; +public class PaymentIdBuilder extends CaGwBuilder { public PaymentIdBuilder(Harness harness) { - this.harness = harness; + super(harness); } public Status prepareStatusRequest() { return getBuilder(Status.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/V1Builder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/V1Builder.java index 8c2f1d0..e06a681 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/V1Builder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/V1Builder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v1; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.ExternalBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class V1Builder { - private final Harness harness; +public class V1Builder extends CaGwBuilder { public V1Builder(Harness harness) { - this.harness = harness; + super(harness); } public ExternalBuilder external() { return new ExternalBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/ExternalBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/ExternalBuilder.java index 61d96a4..32e9638 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/ExternalBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/ExternalBuilder.java @@ -1,17 +1,14 @@ package cz.moneta.test.dsl.cagw.api.v1.external; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.product.ProductBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.service.ServiceBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class ExternalBuilder { - private final Harness harness; +public class ExternalBuilder extends CaGwBuilder { public ExternalBuilder(Harness harness) { - this.harness = harness; + super(harness); } public ProductBuilder product() { @@ -22,7 +19,4 @@ public class ExternalBuilder { return new ServiceBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/ProductBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/ProductBuilder.java index 71206ea..7dbd04f 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/ProductBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/ProductBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v1.external.product; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.product.cloan.CloanBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; - -public class ProductBuilder { - private final Harness harness; +public class ProductBuilder extends CaGwBuilder { + public ProductBuilder(Harness harness) { - this.harness = harness; + super(harness); } public CloanBuilder cbl() { return new CloanBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/CloanBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/CloanBuilder.java index 54bdde4..d0a066a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/CloanBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/CloanBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v1.external.product.cloan; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.product.cloan.application.ApplicationBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class CloanBuilder { - private final Harness harness; +public class CloanBuilder extends CaGwBuilder { public CloanBuilder(Harness harness) { - this.harness = harness; + super(harness); } public ApplicationBuilder application() { return new ApplicationBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/application/ApplicationBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/application/ApplicationBuilder.java index a497f17..da397a3 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/application/ApplicationBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/product/cloan/application/ApplicationBuilder.java @@ -1,22 +1,16 @@ package cz.moneta.test.dsl.cagw.api.v1.external.product.cloan.application; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; -public class ApplicationBuilder { - private final Harness harness; +public class ApplicationBuilder extends CaGwBuilder { public ApplicationBuilder(Harness harness) { - this.harness = harness; + super(harness); } public Application prepareApplicationRequest() { return getBuilder(Application.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/ServiceBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/ServiceBuilder.java index 7466c07..773d2f5 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/ServiceBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/ServiceBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v1.external.service; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.service.voicebot.VoicebotBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class ServiceBuilder { - private final Harness harness; +public class ServiceBuilder extends CaGwBuilder { public ServiceBuilder(Harness harness) { - this.harness = harness; + super(harness); } public VoicebotBuilder voicebot() { return new VoicebotBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/voicebot/VoicebotBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/voicebot/VoicebotBuilder.java index fa51483..1274006 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/voicebot/VoicebotBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v1/external/service/voicebot/VoicebotBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v1.external.service.voicebot; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v1.external.service.voicebot.voicepassworddetail.VoicePasswordDetail; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class VoicebotBuilder { - private final Harness harness; +public class VoicebotBuilder extends CaGwBuilder { public VoicebotBuilder(Harness harness) { - this.harness = harness; + super(harness); } - public VoicePasswordDetail prepareVoicePasswordDetailApi() { + public VoicePasswordDetail prepareVoicePasswordDetail() { return getBuilder(VoicePasswordDetail.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/V2Builder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/V2Builder.java index acfc2c4..808aae3 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/V2Builder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/V2Builder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v2; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v2.external.ExternalBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class V2Builder { - private final Harness harness; +public class V2Builder extends CaGwBuilder { public V2Builder(Harness harness) { - this.harness = harness; + super(harness); } public ExternalBuilder external() { return new ExternalBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/ExternalBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/ExternalBuilder.java index c1ff1d3..9646ac9 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/ExternalBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/ExternalBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v2.external; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v2.external.client.ClientBuilder; -public class ExternalBuilder { - private final Harness harness; +public class ExternalBuilder extends CaGwBuilder { public ExternalBuilder(Harness harness) { - this.harness = harness; + super(harness); } public ClientBuilder client() { return new ClientBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/ClientBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/ClientBuilder.java index 115030e..2217763 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/ClientBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/ClientBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v2.external.client; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v2.external.client.kyc.KycBuilder; -public class ClientBuilder { - private final Harness harness; +public class ClientBuilder extends CaGwBuilder { public ClientBuilder(Harness harness) { - this.harness = harness; + super(harness); } public KycBuilder kyc() { return new KycBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/KycBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/KycBuilder.java index 2292cba..336a098 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/KycBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/KycBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v2.external.client.kyc; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v2.external.client.kyc.businesscard.BusinessCardBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class KycBuilder { - private final Harness harness; +public class KycBuilder extends CaGwBuilder { public KycBuilder(Harness harness) { - this.harness = harness; + super(harness); } public BusinessCardBuilder bussinesCard() { return new BusinessCardBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/businesscard/BusinessCardBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/businesscard/BusinessCardBuilder.java index 42bcb83..dba258f 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/businesscard/BusinessCardBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v2/external/client/kyc/businesscard/BusinessCardBuilder.java @@ -1,22 +1,16 @@ package cz.moneta.test.dsl.cagw.api.v2.external.client.kyc.businesscard; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; -public class BusinessCardBuilder { - private final Harness harness; +public class BusinessCardBuilder extends CaGwBuilder { public BusinessCardBuilder(Harness harness) { - this.harness = harness; + super(harness); } public BusinessCard prepareBusinessCardRequest() { return getBuilder(BusinessCard.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/V4Builder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/V4Builder.java index e5ff45a..a7c4f23 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/V4Builder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/V4Builder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.api.v4; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.api.v4.token.TokenBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class V4Builder { - private final Harness harness; +public class V4Builder extends CaGwBuilder { public V4Builder(Harness harness) { - this.harness = harness; + super(harness); } public TokenBuilder token() { return new TokenBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/token/TokenBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/token/TokenBuilder.java index a3d81c2..e335d37 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/token/TokenBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/api/v4/token/TokenBuilder.java @@ -1,23 +1,16 @@ package cz.moneta.test.dsl.cagw.api.v4.token; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; -public class TokenBuilder { - - private final Harness harness; +public class TokenBuilder extends CaGwBuilder { public TokenBuilder(Harness harness) { - this.harness = harness; + super(harness); } public ApiV4Token prepareTokenRequest() { return getBuilder(ApiV4Token.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/AuthBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/AuthBuilder.java index bd1ba22..a778394 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/AuthBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/AuthBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.auth; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.auth.oauth.OauthBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class AuthBuilder { - private final Harness harness; +public class AuthBuilder extends CaGwBuilder { public AuthBuilder(Harness harness) { - this.harness = harness; + super(harness); } public OauthBuilder oauth() { return new OauthBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/OauthBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/OauthBuilder.java index 655bf81..4af361d 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/OauthBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/OauthBuilder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.auth.oauth; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.auth.oauth.v2.V2Builder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class OauthBuilder { - private final Harness harness; +public class OauthBuilder extends CaGwBuilder { public OauthBuilder(Harness harness) { - this.harness = harness; + super(harness); } public V2Builder v2() { return new V2Builder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/V2Builder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/V2Builder.java index bf2cff9..e5760dc 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/V2Builder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/V2Builder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.auth.oauth.v2; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.auth.oauth.v2.token.TokenBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class V2Builder { - private final Harness harness; +public class V2Builder extends CaGwBuilder { public V2Builder(Harness harness) { - this.harness = harness; + super(harness); } public TokenBuilder token() { return new TokenBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/token/TokenBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/token/TokenBuilder.java index a85d305..9d70ccf 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/token/TokenBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/auth/oauth/v2/token/TokenBuilder.java @@ -1,24 +1,17 @@ package cz.moneta.test.dsl.cagw.auth.oauth.v2.token; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; -public class TokenBuilder { - - private final Harness harness; +public class TokenBuilder extends CaGwBuilder { public TokenBuilder(Harness harness) { - this.harness = harness; + super(harness); } public OauthToken prepareOauth2V2TokenRequest() { return getBuilder(OauthToken.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/Oauth2Builder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/Oauth2Builder.java index 396a9f8..a7ac8ad 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/Oauth2Builder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/Oauth2Builder.java @@ -1,23 +1,17 @@ package cz.moneta.test.dsl.cagw.oauth2; import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.cagw.CaGwBuilder; import cz.moneta.test.dsl.cagw.oauth2.token.TokenBuilder; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; -public class Oauth2Builder { - private final Harness harness; +public class Oauth2Builder extends CaGwBuilder { public Oauth2Builder(Harness harness) { - this.harness = harness; + super(harness); } public TokenBuilder token() { return new TokenBuilder(harness); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/token/TokenBuilder.java b/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/token/TokenBuilder.java index 545391d..ba97d3f 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/token/TokenBuilder.java +++ b/tests/src/main/java/cz/moneta/test/dsl/cagw/oauth2/token/TokenBuilder.java @@ -1,24 +1,18 @@ package cz.moneta.test.dsl.cagw.oauth2.token; import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.cagw.CaGwEndpoint; -import cz.moneta.test.harness.support.rest.Builders; -import cz.moneta.test.harness.support.rest.RestRequest; +import cz.moneta.test.dsl.cagw.CaGwBuilder; -public class TokenBuilder { - - private final Harness harness; +public class TokenBuilder extends CaGwBuilder { public TokenBuilder(Harness harness) { - this.harness = harness; + super(harness); } + @Deprecated public Oauth2Token prepareOauth2TokenRequest() { return getBuilder(Oauth2Token.class); } - private > B getBuilder(Class builderClass) { - return Builders.newRestBuilder(builderClass, CaGwEndpoint.class, harness); - } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/exevido/components/LeftMenu.java b/tests/src/main/java/cz/moneta/test/dsl/exevido/components/LeftMenu.java index ee2c39b..5ea90ba 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/exevido/components/LeftMenu.java +++ b/tests/src/main/java/cz/moneta/test/dsl/exevido/components/LeftMenu.java @@ -1,5 +1,6 @@ package cz.moneta.test.dsl.exevido.components; +import cz.moneta.test.dsl.exevido.pages.inheritance.FoldersPage; import cz.moneta.test.dsl.exevido.pages.IncomingMessagesPage; import cz.moneta.test.dsl.exevido.pages.OutgoingMessagesPage; import cz.moneta.test.harness.support.web.Click; @@ -9,6 +10,7 @@ import cz.moneta.test.harness.support.web.Wait; import static cz.moneta.test.dsl.exevido.components.ExevidoPanels.LOADER_DIV; import static cz.moneta.test.dsl.exevido.components.LeftMenu.PAGE_SA_SMART_MENU; +import static cz.moneta.test.dsl.exevido.pages.inheritance.FoldersPage.PAGE_LABEL_XPATH; @Wait(PAGE_SA_SMART_MENU) @Wait(value = LOADER_DIV, until = Until.GONE) @@ -22,6 +24,7 @@ public interface LeftMenu { String CATEGORY_INHERITANCE_MMB_XPATH = "//li[@id='Dědictví - MMB']"; String SUBCATEGORY_WITHOUT_FOLDER_XPATH = CATEGORY_INHERITANCE_MMB_XPATH + "//a[contains(., 'Bez spisu')]"; String SUBCATEGORY_FOR_PROCESSING_XPATH = CATEGORY_INHERITANCE_MMB_XPATH + "//a[contains(., 'Ke zpracování')]"; + String SUBCATEGORY_FOLDERS_XPATH = CATEGORY_INHERITANCE_MMB_XPATH + "//a[contains(., 'Spisy')]"; String FOR_PROCESSING_D_REQUEST_MMB_XPATH = CATEGORY_INHERITANCE_MMB_XPATH + "//a[contains(., 'D - Žádost [M] - MMB')]"; String REFRESH_COUNTERS_BUTTON = "refresh_counters"; @@ -37,7 +40,7 @@ public interface LeftMenu { @Click(SUBCATEGORY_ALL_OUTGOING_MESSAGES_A) OutgoingMessagesPage clickAllOutgoingMessages(); - @Click(value = CATEGORY_INHERITANCE_MMB_XPATH, by = Lookup.XPATH, andWait = @Wait(value = SUBCATEGORY_WITHOUT_FOLDER_XPATH, by = Lookup.XPATH ,until = Until.VISIBLE)) + @Click(value = CATEGORY_INHERITANCE_MMB_XPATH, by = Lookup.XPATH, andWait = @Wait(value = SUBCATEGORY_WITHOUT_FOLDER_XPATH, by = Lookup.XPATH, until = Until.VISIBLE)) @Click(value = SUBCATEGORY_WITHOUT_FOLDER_XPATH, by = Lookup.XPATH, andWait = @Wait(value = LOADER_DIV, until = Until.GONE)) IncomingMessagesPage clickInheritanceMmbWithoutFolder(); @@ -45,6 +48,10 @@ public interface LeftMenu { @Click(value = SUBCATEGORY_FOR_PROCESSING_XPATH, by = Lookup.XPATH, andWait = @Wait(value = FOR_PROCESSING_D_REQUEST_MMB_XPATH, by = Lookup.XPATH, until = Until.VISIBLE)) LeftMenu clickInheritanceMmbForProcessing(); + @Click(value = CATEGORY_INHERITANCE_MMB_XPATH, by = Lookup.XPATH, andWait = @Wait(value = SUBCATEGORY_FOR_PROCESSING_XPATH, by = Lookup.XPATH, until = Until.VISIBLE)) + @Click(value = SUBCATEGORY_FOLDERS_XPATH, by = Lookup.XPATH, andWait = @Wait(value = PAGE_LABEL_XPATH, by = Lookup.XPATH, until = Until.VISIBLE)) + FoldersPage clickInheritanceMmbFolders(); + @Click(value = FOR_PROCESSING_D_REQUEST_MMB_XPATH, by = Lookup.XPATH, andWait = @Wait(value = LOADER_DIV, until = Until.GONE)) IncomingMessagesPage clickRequestMmb(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/DetailIncomingMessagePage.java b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/DetailIncomingMessagePage.java index c6e1c10..8947ba9 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/DetailIncomingMessagePage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/DetailIncomingMessagePage.java @@ -36,6 +36,11 @@ public interface DetailIncomingMessagePage extends ExevidoWebFlow ADD_MESSAGE_FOLDER_BUTTON); + return null; + } + + @TypeInto(value = ADD_FOLDER_ISSUE_NUMBER_INPUT, clear = true, andWait = @Wait(value = ExevidoPanels.LOADER_DIV, until = Until.GONE)) + @KeyPress(Key.ENTER) + DetailIncomingMessagePage fillFolderIssueNumber(String folderIssueNumber); + + @Click(value = SAVE_FOLDER_ISSUE_NUMBER, by = Lookup.XPATH, andWait = @Wait(value = ExevidoPanels.LOADER_DIV, until = Until.GONE)) + DetailIncomingMessagePage saveFolderIssueNumber(); + + @Click(value = REMOVE_FOLDER_ISSUE_NUMBER, by = Lookup.XPATH, isStringDynamicXpath = true) + @Click(CONFIRM_BUTTON) + DetailIncomingMessagePage removeFolderIssueNumber(String folderIssueNumber); + @CheckElementContent(value = MESSAGE_ID_SPAN) NewIncomingMessagePage checkMessageId(String id); } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/IncomingMessagesPage.java b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/IncomingMessagesPage.java index 4219bbb..aada2c9 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/IncomingMessagesPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/IncomingMessagesPage.java @@ -49,6 +49,15 @@ public interface IncomingMessagesPage extends ExevidoWebFlow, StoreAccessor { + + String PAGE_LABEL_XPATH = "//b[contains(text(),'Spis:')]"; + String OUTGOING_MESSAGES_LABEL_XPATH = "//a[contains(text(),'Odchozí zprávy')]"; + String ROW_BY_MESSAGE_ID = "//tr[contains(@class,'clickable-row')]//td[2]/div[normalize-space()='%s']/ancestor::tr"; + + @CustomAction + default DetailIncomingMessagePage openMessageById(String messageId) { + ExevidoEndpoint endpoint = getEndpoint(ExevidoEndpoint.class); + endpoint.moveToElement(OUTGOING_MESSAGES_LABEL_XPATH, Lookup.XPATH); + endpoint.click(() -> String.format(ROW_BY_MESSAGE_ID, messageId), Lookup.XPATH); + return null; + } +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/inheritance/FoldersPage.java b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/inheritance/FoldersPage.java new file mode 100644 index 0000000..a01301c --- /dev/null +++ b/tests/src/main/java/cz/moneta/test/dsl/exevido/pages/inheritance/FoldersPage.java @@ -0,0 +1,26 @@ +package cz.moneta.test.dsl.exevido.pages.inheritance; + +import cz.moneta.test.dsl.exevido.ExevidoWebFlow; +import cz.moneta.test.dsl.exevido.components.ExevidoPanels; +import cz.moneta.test.harness.context.StoreAccessor; +import cz.moneta.test.harness.endpoints.exevido.ExevidoEndpoint; +import cz.moneta.test.harness.support.web.*; + +import static cz.moneta.test.dsl.exevido.pages.inheritance.FoldersPage.PAGE_LABEL_XPATH; + + +@Wait(value = PAGE_LABEL_XPATH, by = Lookup.XPATH) +public interface FoldersPage extends ExevidoWebFlow, StoreAccessor { + + String PAGE_LABEL_XPATH = "//b[contains(text(),'Spisy')]"; + String PRODUCT_OWNER_NAME_INPUT = "text_product_owner_name"; + String FOLDER_MESSAGE_ROW = "folder_0_row"; + + @TypeInto(value = PRODUCT_OWNER_NAME_INPUT) + @KeyPress(value = Key.ENTER, andWait = @Wait(value = ExevidoPanels.LOADER_DIV, until = Until.GONE)) + FoldersPage fillProductOwnerName(String name); + + @Click(value = FOLDER_MESSAGE_ROW, andWait = @Wait(value = ExevidoPanels.LOADER_DIV, until = Until.GONE)) + DetailFolderPage clickFolderRow(); + +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/contractPrepare/HyposContractPrepare.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/contractPrepare/HyposContractPrepare.java index f173ea7..5b7c44b 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/contractPrepare/HyposContractPrepare.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/contractPrepare/HyposContractPrepare.java @@ -97,7 +97,7 @@ public class HyposContractPrepare { .realtyPriceCurrent(3500000) .realtyType(RealtyType.FLAT.getValue()) .pledgeType(PledgeType.PROPERTY_HOUSING.getValue()) - .contractRelation(ContranctRelation.PLEDGE_WITH_CURRENT_REALTY.getValue()) + .contractRelation(ContractRelation.PLEDGE_WITH_CURRENT_REALTY.getValue()) .collateralType(CollateralType.FLAT.getValue()) .appraiserCompany(AppraiserCompany.MONETA_SUPERVISION.getValue()) .build(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/AppraiserCompany.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/AppraiserCompany.java index 80b7d36..e428d46 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/AppraiserCompany.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/AppraiserCompany.java @@ -13,4 +13,4 @@ public enum AppraiserCompany { public String getValue() { return appraiserCompany; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CadasterRequestType.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CadasterRequestType.java index d611fca..55774e2 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CadasterRequestType.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CadasterRequestType.java @@ -1,6 +1,8 @@ package cz.moneta.test.dsl.hypos.enums; -public enum CadasterRequestType { +import cz.moneta.test.harness.support.web.SelectByValue; + +public enum CadasterRequestType implements SelectByValue { PART_OWNER_LIST("Část. výpis LV"), CADASTER_MAP("Kat. mapa"), OWNER_LIST("List vlastnictví"), @@ -12,6 +14,7 @@ public enum CadasterRequestType { this.cadasterRequestType = cadasterRequestType; } + @Override public String getValue() { return cadasterRequestType; } diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollateralCode.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollateralCode.java index 5806791..40a2c56 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollateralCode.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollateralCode.java @@ -12,4 +12,4 @@ public enum CollateralCode { public String getValue() { return collateralCode; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollectableFee.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollectableFee.java index 7d2dddc..9e90fc2 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollectableFee.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/CollectableFee.java @@ -1,6 +1,8 @@ package cz.moneta.test.dsl.hypos.enums; -public enum CollectableFee { +import cz.moneta.test.harness.support.web.SelectByValue; + +public enum CollectableFee implements SelectByValue { APPENDIX_CLIENT_INITIATIVE("DODATEK - Z PODNĚTU KLIENTA"), FEE_DOWNLOAD_LV_KM("Poplatek za stažení LV/KM"), OTHER_BANK_INFORMATION("OSTATNÍ - BANKOVNÍ INFORMACE"); @@ -11,6 +13,7 @@ public enum CollectableFee { this.collectableFee = collectableFee; } + @Override public String getValue() { return collectableFee; } diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContranctRelation.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContractRelation.java similarity index 84% rename from tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContranctRelation.java rename to tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContractRelation.java index 2d85bd9..12902b6 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContranctRelation.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/ContractRelation.java @@ -1,6 +1,6 @@ package cz.moneta.test.dsl.hypos.enums; -public enum ContranctRelation { +public enum ContractRelation { PLEDGE_WITH_OTHER_REALTY("Zajištění jinou nemovitostí"), PLEDGE_WITH_CURRENT_REALTY("Zajištění = objekt úvěru"), PLEDGE_ADDIONAL("Dozajištění"), @@ -8,11 +8,11 @@ public enum ContranctRelation { private final String contractRelation; - ContranctRelation(String contractRelation) { + ContractRelation(String contractRelation) { this.contractRelation = contractRelation; } public String getValue() { return contractRelation; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/IncomeCurrency.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/IncomeCurrency.java index 08ec911..26b31c4 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/IncomeCurrency.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/IncomeCurrency.java @@ -12,4 +12,4 @@ public enum IncomeCurrency { public String getValue() { return currency; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LivingType.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LivingType.java index b110970..da99650 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LivingType.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LivingType.java @@ -18,4 +18,4 @@ public enum LivingType { public String getValue() { return livingType; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LoanObjectType.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LoanObjectType.java index 8cfc5b5..06c943d 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LoanObjectType.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/LoanObjectType.java @@ -16,4 +16,4 @@ public enum LoanObjectType { public String getValue() { return loanObject; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PaymentType.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PaymentType.java index fb0b54c..9501a0a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PaymentType.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PaymentType.java @@ -1,6 +1,5 @@ package cz.moneta.test.dsl.hypos.enums; - public enum PaymentType { WITHOUT_PURPOSE("1"), GROUP_PURPOSE_BUY("2"), diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PurchaseReason.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PurchaseReason.java index 2d5aab7..cb8acaf 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PurchaseReason.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/PurchaseReason.java @@ -13,4 +13,4 @@ public enum PurchaseReason { public String getValue() { return purchaseReason; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/StayType.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/StayType.java index b2d1468..ec44fee 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/StayType.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/enums/StayType.java @@ -16,4 +16,4 @@ public enum StayType { public String getValue() { return accomodationType; } -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/cadaster/CadasterRequestPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/cadaster/CadasterRequestPage.java index a6001e2..d69dc43 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/cadaster/CadasterRequestPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/cadaster/CadasterRequestPage.java @@ -1,5 +1,6 @@ package cz.moneta.test.dsl.hypos.pages.cadaster; +import cz.moneta.test.dsl.hypos.enums.CadasterRequestType; import cz.moneta.test.dsl.hypos.pages.HyposPageFlow; import cz.moneta.test.harness.context.StoreAccessor; import cz.moneta.test.harness.endpoints.hypos.HyposEndpoint; @@ -18,7 +19,7 @@ public interface CadasterRequestPage extends HyposPageFlow, CadasterRequestPage clickSearchButton(); @Select(FILTER_TYPE_SELECT) - CadasterRequestPage selectFilterType(String type); + CadasterRequestPage selectFilterType(CadasterRequestType type); @Select(FILTER_STATUS_SELECT) CadasterRequestPage selectFilterStatus(String status); diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approval/ScoringPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approval/ScoringPage.java index 7e5bd49..92bf82a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approval/ScoringPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approval/ScoringPage.java @@ -85,8 +85,9 @@ public interface ScoringPage extends HyposPageFlow, Menu, StoreAcce ScoringPage clickApproveContractButton(); @Waits({ + @Wait(value = LOADER, waitSecondsForElement = 60, until = Until.GONE), @Wait(value = NAS_ONGOING_CHECKS_DIV, waitSecondsForElement = 60, until = Until.GONE), - @Wait(value = CONFIRM_APPROVAL_BUTTON, waitSecondsForElement = 60, until = Until.CLICKABLE) + @Wait(value = LOADER, waitSecondsForElement = 30, until = Until.GONE) }) @Click(CONFIRM_APPROVAL_BUTTON) @AcceptAlert(waitSecondsForAlert = 30) diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ApprovalChecklistPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ApprovalChecklistPage.java index 8475d4e..4cc92fa 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ApprovalChecklistPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ApprovalChecklistPage.java @@ -57,6 +57,7 @@ public interface ApprovalChecklistPage extends HyposPageFlow doc); + endpoint.waitForElementsToLoad(20, Until.GONE, LOADER); ChecklistImportDocModalPage checklistImportDocModalPage = Builders.newWebFlowBuilder(ChecklistImportDocModalPage.class, endpoint, harness); if (endpoint.isElementVisible(1, VALIDITY_DATE_INPUT, Lookup.XPATH)) { checklistImportDocModalPage.fillValidityDate(LocalDate.now().plusYears(category == IDENTITY_GENERAL ? 5 : 0).format(DateTimeFormatter.ofPattern(defaultDateFormat))) diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ChecklistImportDocModalPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ChecklistImportDocModalPage.java index aadecab..204298a 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ChecklistImportDocModalPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/approvalchecklist/ChecklistImportDocModalPage.java @@ -20,7 +20,7 @@ public interface ChecklistImportDocModalPage extends HyposPageFlow GENERATE_BUTTON); try { diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/fees/FeesPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/fees/FeesPage.java index 873283d..34b2287 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/fees/FeesPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/fees/FeesPage.java @@ -1,6 +1,7 @@ package cz.moneta.test.dsl.hypos.pages.contract.fees; import cz.moneta.test.dsl.hypos.components.Menu; +import cz.moneta.test.dsl.hypos.enums.CollectableFee; import cz.moneta.test.dsl.hypos.pages.HyposPageFlow; import cz.moneta.test.harness.support.web.*; @@ -15,7 +16,7 @@ public interface FeesPage extends HyposPageFlow, Menu { String COLLECTED_FEE_TEXT = "//h3[contains(text(),'Byl zinkasován poplatek')]"; @Select(COLLECTABLE_FEE_SELECT) - FeesPage selectCollectableFee(String fee); + FeesPage selectCollectableFee(CollectableFee fee); @Click(value = CASH_BUTTON, andWait = @Wait(value = COLLECTED_FEE_TEXT, until = Until.VISIBLE)) FeesPage clickCash(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/loan/ClientCurrentAcountPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/loan/ClientCurrentAcountPage.java index d565d98..113c265 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/loan/ClientCurrentAcountPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/loan/ClientCurrentAcountPage.java @@ -1,5 +1,6 @@ package cz.moneta.test.dsl.hypos.pages.contract.loan; +import cz.moneta.test.dsl.hypos.components.Menu; import cz.moneta.test.dsl.hypos.pages.HyposPageFlow; import cz.moneta.test.harness.support.web.Click; import cz.moneta.test.harness.support.web.Wait; @@ -8,7 +9,7 @@ import static cz.moneta.test.dsl.hypos.pages.contract.loan.ClientCurrentAcountPa import static cz.moneta.test.dsl.hypos.pages.contract.loan.ClientCurrentAcountPage.SAVE_BUTTON; @Wait({PAGE_TITLE, SAVE_BUTTON}) -public interface ClientCurrentAcountPage extends HyposPageFlow { +public interface ClientCurrentAcountPage extends HyposPageFlow, Menu { String PAGE_TITLE = "//h1[text()='Účet pro splácení']"; String CURRENT_ACCOUNTS_FORM = "//form[@id='form-bezneucty']"; String SELECT_CURRENT_ACCOUNT_RADIO = CURRENT_ACCOUNTS_FORM + "//input[@value='%s']"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/OrderValuationPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/OrderValuationPage.java index 8a1a19d..ea2cebb 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/OrderValuationPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/OrderValuationPage.java @@ -256,23 +256,19 @@ public interface OrderValuationPage extends HyposPageFlow, M @Click(A_BACKTOREALTYDETAIL) OrderValuationPage clickBackToRealtyDetail(); - @Select(SELECT_ORDERER_TYPE) + @Select(value = SELECT_ORDERER_TYPE, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage selectOrdererType(String ordereType); - @TypeInto(SELECT_FINALTYPE) - @KeyPress(Key.ENTER) + @Select(value = SELECT_FINALTYPE, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage selectFinalType(String finalType); - @TypeInto(SELECT_REALTYUNITTYPE) - @KeyPress(Key.ENTER) + @Select(SELECT_REALTYUNITTYPE) OrderValuationPage selectRealtyFlatType(String realtyType); - @TypeInto(SELECT_REALTYBUILDINGTYPE) - @KeyPress(Key.ENTER) + @Select(SELECT_REALTYBUILDINGTYPE) OrderValuationPage selectRealtyHouseType(String realtyType); - @TypeInto(SELECT_PURPOSE) - @KeyPress(Key.ENTER) + @Select(value = SELECT_PURPOSE, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage selectPurpose(String purpose); @TypeInto(INPUT_ADDRESSSTREET) @@ -297,15 +293,9 @@ public interface OrderValuationPage extends HyposPageFlow, M @TypeInto(INPUT_SHARE) OrderValuationPage insertShare(int share); - @Click(COMBOBOX_DOCUMENTSAVAILABLE_YES) + @Click(value = COMBOBOX_DOCUMENTSAVAILABLE_YES, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage clickDocumentsAvailable(); - @Wait(value = SELECT_DISPOSITION, until = Until.CLICKABLE) - OrderValuationPage waitFlatDispositionClickable(); - - @Wait(value = SELECT_CONSTRUCTIONMATERIAL_HOUSE, until = Until.CLICKABLE) - OrderValuationPage waitHouseMaterialClickable(); - @Click(COMBOBOX_DOCUMENTSAVAILABLE_NO) OrderValuationPage clickDocumentsNotAvailable(); @@ -333,7 +323,7 @@ public interface OrderValuationPage extends HyposPageFlow, M @Click(COMBOBOX_PROPERTYRENTED_YES_FLAT) OrderValuationPage clickPropertyRentedFlat(); - @Click(COMBOBOX_PROPERTYRENTED_NO_FLAT) + @Click(value = COMBOBOX_PROPERTYRENTED_NO_FLAT, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage clickPropertyNotRentedFlat(); @TypeInto(INPUT_OUTSIDEPARKING) @@ -388,7 +378,7 @@ public interface OrderValuationPage extends HyposPageFlow, M @Click(COMBOBOX_PROPERTYRENTED_YES_HOUSE) OrderValuationPage clickPropertyRentedHouse(); - @Click(COMBOBOX_PROPERTYRENTED_NO_HOUSE) + @Click(value = COMBOBOX_PROPERTYRENTED_NO_HOUSE, andWait = @Wait(value = LOADER, until = Until.GONE)) OrderValuationPage clickPropertyNotRentedHouse(); @TypeInto(INPUT_FLOOREAREA_HOUSE) diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/SearchRealtyPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/SearchRealtyPage.java index 9baec79..048717e 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/SearchRealtyPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/SearchRealtyPage.java @@ -32,7 +32,7 @@ public interface SearchRealtyPage extends HyposPageFlow { @Select(value = REALTY_TYPE_SELECT, andWait = @Wait(value = LAND_AREA_NAME_INPUT, until = Until.VISIBLE)) SearchRealtyPage selectRealtyType(String realtyType); - @TypeInto(value = LAND_AREA_NAME_INPUT, clear = true) + @TypeInto(value = LAND_AREA_NAME_INPUT, clear = true, andWait = @Wait(value = LAND_AREA_AUTOSUGGEST_LINK, until = Until.VISIBLE, isStringDynamicXpath = true)) SearchRealtyPage fillAreaName(String area); @TypeInto(value = LAND_AREA_CODE_INPUT, clear = true) @@ -65,4 +65,4 @@ public interface SearchRealtyPage extends HyposPageFlow { @Click(CREATE_NEW_UNIT_SEARCH_LINK) CreateNewUnitPage clickCreateNewSearchUnit(); -} +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/ValuationDetailPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/ValuationDetailPage.java index b235f25..065fe08 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/ValuationDetailPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/contract/realty/ValuationDetailPage.java @@ -12,12 +12,12 @@ import static cz.moneta.test.dsl.hypos.pages.contract.realty.ValuationDetailPage @Wait(value = H1_ORDERVALUATION, waitSecondsForElement = 180) public interface ValuationDetailPage extends HyposPageFlow, Menu { - String autoComment = "Automation Test"; String H1_ORDERVALUATION = "//h1[text()='Objednávka ocenění']"; String H2_RISKS = "//h2[text()='Rizika a stanovení podmínek']"; String H2_FINAL = "//h2[text()='Finální ocenění']"; + String H3_COMPARATIVE_METHOD = "//h3[text()='Porovnávací metoda']"; String H3_VALUATIONCOMPLETED = "//h3[text()='Ocenění bylo uloženo']"; String H2_REALTYDESCRIPTION = "//h2[text()='Popis nemovitosti']"; @@ -31,15 +31,16 @@ public interface ValuationDetailPage extends HyposPageFlow, String TD_LASTOPERATION_COMMENT = "//table[@id='appr-order-events']/tbody/tr[1]/td[3]"; String TD_VALUATIONTYPE = "//th[text()='Způsob zpracování - výchozí']/following-sibling::td[1]"; - String INPUT_GIVEORDER = "//input[@value='Předat objednávku']"; - String INPUT_DEFERORDER = "//input[@value='Odložit objednávku']"; - String INPUT_DELAYUNTIL = "//input[@name='delayUntil']"; + String INPUT_GIVE_ORDER = "//input[@value='Předat objednávku']"; + String INPUT_DEFER_ORDER = "//input[@value='Odložit objednávku']"; + String INPUT_DELAY_UNTIL = "//input[@name='delayUntil']"; String INPUT_CANCEL = "//input[@value='Zrušit objednávku']"; - String INPUT_CURRENTPRICE = "//input[@name='final_valuation[results][data][current_price]']"; - String INPUT_JKSOPRICE = "//input[@id='results-auto-reproduction-price-flat']"; - String INPUT_REPRODUCTIVEPRICE = "//input[@id='results-reproduction-price-flat']"; - String INPUT_FLATAREA = "//input[@id='flat-floor-area']"; - String INPUT_FLATAREOTHER = "//input[@id='flat-floor-area-other']"; + String INPUT_CURRENT_PRICE = "//input[@name='final_valuation[results][data][current_price]']"; + String INPUT_JKSO_PRICE = "//input[@id='results-auto-reproduction-price-flat']"; + String INPUT_REPRODUCTIVE_PRICE = "//input[@id='results-reproduction-price-flat']"; + String INPUT_FLAT_AREA = "//input[@id='flat-floor-area']"; + String INPUT_FLAT_AREA_OTHER = "//input[@id='flat-floor-area-other']"; + String INPUT_LOCAL_INVESTIGATION_DATE = "//input[@id='results-local-investigation-date']"; String SELECT_FLAT_HEATING = "//select[@id='flat-heating']"; String SELECT_FLAT_HEATING_MEDIUM = "//select[@name='realty[flat][unit_heating_medium_tp]']"; @@ -65,7 +66,6 @@ public interface ValuationDetailPage extends HyposPageFlow, String INPUT_HOUSE_SURROUND_SPACE = "//input[@id='house-building-surround-space']"; String INPUT_HOUSE_FLOOR_AREA = "//input[@id='house-building-residential-floor-area']"; - String TEXTAREA_FORWARDCOMMENT = "//textarea[@id='forward-comment']"; String TEXTAREA_DELAYCOMMNET = "//textarea[@id='delay-comment']"; String TEXTAREA_CANCELCOMMNET = "//textarea[@id='cancel-comment']"; @@ -83,10 +83,10 @@ public interface ValuationDetailPage extends HyposPageFlow, @Wait(value = H3_VALUATIONCOMPLETED, waitSecondsForElement = 60) ValuationDetailPage waitForValuationCompleted(); - @TypeInto(value = INPUT_REPRODUCTIVEPRICE, clear = true) + @TypeInto(value = INPUT_REPRODUCTIVE_PRICE, clear = true) ValuationDetailPage insertReproductivePrice(int price); - @TypeInto(value = INPUT_CURRENTPRICE, clear = true) + @TypeInto(value = INPUT_CURRENT_PRICE, clear = true) ValuationDetailPage insertCurrentPrice(int price); @Click(A_PROCESSORDER) @@ -98,6 +98,9 @@ public interface ValuationDetailPage extends HyposPageFlow, @Click(H2_FINAL) ValuationDetailPage clickFinalSection(); + @Click(H3_COMPARATIVE_METHOD) + ValuationDetailPage clickComparativeMethod(); + @Wait(H2_REALTYDESCRIPTION) @Click(H2_REALTYDESCRIPTION) ValuationDetailPage clickRealtyDescription(); @@ -111,13 +114,13 @@ public interface ValuationDetailPage extends HyposPageFlow, @Click(A_DEFER) ValuationDetailPage clickDeferOrder(); - @TypeInto(INPUT_DELAYUNTIL) + @TypeInto(INPUT_DELAY_UNTIL) ValuationDetailPage insertDelayUntil(String delay); @TypeInto(TEXTAREA_DELAYCOMMNET) ValuationDetailPage insertDelayComment(String comment); - @Click(INPUT_DEFERORDER) + @Click(INPUT_DEFER_ORDER) ValuationDetailPage clickDeferOrderInput(); @AcceptAlert(waitSecondsForAlert = 10) @@ -138,7 +141,7 @@ public interface ValuationDetailPage extends HyposPageFlow, @TypeInto(TEXTAREA_FORWARDCOMMENT) ValuationDetailPage insertForwardComment(String comment); - @Click(INPUT_GIVEORDER) + @Click(INPUT_GIVE_ORDER) ValuationDetailPage clickGiveOrderInput(); @Click(A_TAKE) @@ -225,9 +228,12 @@ public interface ValuationDetailPage extends HyposPageFlow, @TypeInto(value = INPUT_HOUSE_SURROUND_SPACE, clear = true) ValuationDetailPage insertSurroundSpace(String area); - @TypeInto(value = INPUT_HOUSE_FLOOR_AREA,clear = true) + @TypeInto(value = INPUT_HOUSE_FLOOR_AREA, clear = true) ValuationDetailPage insertFloorArea(String area); + @TypeInto(INPUT_LOCAL_INVESTIGATION_DATE) + ValuationDetailPage insertLocalInvestigationDate(String investigationDate); + /** * Verify if last operation has correct comment in history of order. * @@ -300,8 +306,8 @@ public interface ValuationDetailPage extends HyposPageFlow, default ValuationDetailPage doCalculationAndVerify() { HyposEndpoint endpoint = getEndpoint(HyposEndpoint.class); - double flatArea = Double.parseDouble(endpoint.getAttribute(INPUT_FLATAREA, "value").replace(",",".")); - double flatAreaOther = Double.parseDouble(endpoint.getAttribute(INPUT_FLATAREOTHER, "value").replace(",",".")); + double flatArea = Double.parseDouble(endpoint.getAttribute(INPUT_FLAT_AREA, "value").replace(",",".")); + double flatAreaOther = Double.parseDouble(endpoint.getAttribute(INPUT_FLAT_AREA_OTHER, "value").replace(",",".")); double countedArea; if ((flatAreaOther / 2 )> 0.2 * flatArea){ @@ -310,9 +316,9 @@ public interface ValuationDetailPage extends HyposPageFlow, countedArea = flatArea + (flatAreaOther / 2); } - double JKSOhodnota = Double.parseDouble(endpoint.getAttribute(INPUT_JKSOPRICE,"value").replace(",",".")); + double JKSOhodnota = Double.parseDouble(endpoint.getAttribute(INPUT_JKSO_PRICE,"value").replace(",",".")); double expectedValue = Math.floor((countedArea * JKSOhodnota)/ 10000) * 10000; - double reproductivePrice = Double.parseDouble(endpoint.getAttribute(INPUT_REPRODUCTIVEPRICE, "value").replace(",",".")); + double reproductivePrice = Double.parseDouble(endpoint.getAttribute(INPUT_REPRODUCTIVE_PRICE, "value").replace(",",".")); String message = String.format("Expected reporductive price value %s is not equal actual price %s.", expectedValue, reproductivePrice); Assertions.assertEquals(expectedValue, reproductivePrice, message); diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaPage.java index 3ce36f3..ae95b5c 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaPage.java @@ -35,7 +35,7 @@ public interface HypokalkulackaPage extends HyposPageFlow, M String GENERATE_AGREEMENTS101_BUTTON = DOCUMENTS_DIV + "//span[@id='generate-link-186']/a"; String GENERATE_AGREEMENTS101_LOADER_IMG = DOCUMENTS_DIV + "//span[@id='generate-link-186']/img[@src='/img/common/loadingAnimationSmall.gif']"; String SIGN_AGREEMENTS101_BUTTON = DOCUMENTS_DIV + "//span[@id='sign-link-186']/a"; - String GENERATE_APPLICATION_BUTTON = DOCUMENTS_DIV + "//span[@id='generate-link-333']/a"; + String GENERATE_APPLICATION_BUTTON = DOCUMENTS_DIV + "//span[@id='generate-link-333']/a[not(contains(@class,'generate-disabled'))]"; String GENERATE_APPLICATION_LOADER_IMG = DOCUMENTS_DIV + "//span[@id='generate-link-333']/img[@src='/img/common/loadingAnimationSmall.gif']"; String SIGN_APPLICATION_BUTTON = DOCUMENTS_DIV + "//span[@id='sign-link-333']/a"; @@ -79,8 +79,14 @@ public interface HypokalkulackaPage extends HyposPageFlow, M @Click(value = CALCULATE_BUTTON, andWait = @Wait(value = HYPOKALKULACKA_CALCULATE_LOADER, until = Until.GONE)) HypokalkulackaPage clickCalculateButton(); - @TypeInto(FIRST_EXPECTED_DRAW_DATE_INPUT) - HypokalkulackaPage fillFirstExpectedDrawDate(String drawDate); + @CustomAction + default HypokalkulackaPage fillFirstExpectedDrawDate(String drawDate) { + HyposEndpoint endpoint = getEndpoint(HyposEndpoint.class); + endpoint.type(() -> FIRST_EXPECTED_DRAW_DATE_INPUT, drawDate, true); + endpoint.sendKeysOneAtATime(Key.TAB); + endpoint.waitForElementsToLoad(20, Until.GONE, HYPOKALKULACKA_CALCULATE_LOADER); + return null; + } @Wait(value = GENERATE_AGREEMENTS101_BUTTON, waitSecondsForElement = 60, until = Until.VISIBLE) @Click(value = GENERATE_AGREEMENTS101_BUTTON, andWait = @Wait(value = GENERATE_AGREEMENTS101_LOADER_IMG, waitSecondsForElement = 60, until = Until.GONE)) diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaRealtyPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaRealtyPage.java index 8833a75..caecc72 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaRealtyPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/hypokalkulacka/HypokalkulackaRealtyPage.java @@ -24,7 +24,7 @@ public interface HypokalkulackaRealtyPage extends HyposPageFlow, StoreAccessor { String PAGE_TITLE = "//h1[text()='Detail úkolu']"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/tasklist/TaskListPage.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/tasklist/TaskListPage.java index f4b861d..5721d1c 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/tasklist/TaskListPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/pages/tasklist/TaskListPage.java @@ -4,11 +4,11 @@ import cz.moneta.test.dsl.hypos.pages.HyposPageFlow; import cz.moneta.test.harness.context.StoreAccessor; import cz.moneta.test.harness.support.web.Click; import cz.moneta.test.harness.support.web.Select; +import cz.moneta.test.harness.support.web.Until; import cz.moneta.test.harness.support.web.Wait; import static cz.moneta.test.dsl.hypos.pages.tasklist.TaskListPage.FILTER_MODE_SELECT; - @Wait(FILTER_MODE_SELECT) public interface TaskListPage extends HyposPageFlow, StoreAccessor { String FILTER_MODE_SELECT = "//select[@id='filter-mode']"; @@ -16,7 +16,7 @@ public interface TaskListPage extends HyposPageFlow, StoreAccessor String FILTER_SEARCH_BUTTON = "//button[text()='Vyhledat']"; String TASK_DETAIL = "(//a[contains(@href,'complaint.detail')])[1]"; - @Click(FILTER_SEARCH_BUTTON) + @Click(value = FILTER_SEARCH_BUTTON, andWait = @Wait(value = TASK_DETAIL, until = Until.CLICKABLE)) TaskListPage clickSearchButton(); @Click(TASK_DETAIL) diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ContractTasks.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ContractTasks.java index 1c92443..6d727cc 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ContractTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ContractTasks.java @@ -35,7 +35,7 @@ public class ContractTasks { public Function cashCollectedFee() { tasks.hyposLog(TASK, new Object() {}.getClass().getEnclosingMethod().getName()); return start -> start.clickFees() - .selectCollectableFee(CollectableFee.FEE_DOWNLOAD_LV_KM.getValue()) + .selectCollectableFee(CollectableFee.FEE_DOWNLOAD_LV_KM) .clickCash() .checkCollectedFee(); } @@ -243,12 +243,13 @@ public class ContractTasks { .clickHomepage(); } - public Function setClientCurrentAccount(String currentAccountNumber) { + public Function setClientCurrentAccount(String currentAccountNumber) { tasks.hyposLog(TASK, new Object() {}.getClass().getEnclosingMethod().getName()); return start -> start.clickLoan() .clickSetCurrentAccount() .setCurrentAccount(currentAccountNumber) - .clickSaveCurrentAccount(); + .clickSaveCurrentAccount() + .clickHomepage(); } public Function approveDrawingConditions() { diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/HyposWso2Tasks.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/HyposWso2Tasks.java index f89d8e1..74ea9f2 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/HyposWso2Tasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/HyposWso2Tasks.java @@ -69,7 +69,7 @@ public class HyposWso2Tasks { /** * 08/ Insert Internet Bank details to the contract tab Notifications (Sdeleni) */ - public void insertInternetBankLoginToCommunication(String contractId, String clientPin, String clientIbLogin) { + public void insertInternetBankLoginToCommunication(String contractId, String clientPin, String clientFullName, String clientIbLogin) { harness.withWso2() .prepareRequest() .withPath("/t/mortgages.cluster/CRT_PR_SDELENI/001") @@ -77,7 +77,7 @@ public class HyposWso2Tasks { .withHeader("Authorization", "Bearer " + tokenMortgages) .withPayloadFromTemplate(Template.fromFilepath("system/wso2/mortgages_cluster/createInternetBankApis/crt_pr_sdeleni.json") .setQuoted("ContractId", contractId) - .setQuoted("Text", "Login do IB pro RC " + clientPin + " je: " + clientIbLogin)) + .setQuoted("Text", String.format("Login do IB pro RC %s (%s) je: %s", clientPin, clientFullName, clientIbLogin))) .post() .andAssertStatus(200); harness.log("Internet Bank login was saved into contract's notifications (Sdeleni)."); diff --git a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ValuationTasks.java b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ValuationTasks.java index 1d82313..c647c39 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ValuationTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/hypos/tasks/ValuationTasks.java @@ -12,11 +12,13 @@ import cz.moneta.test.dsl.hypos.pages.contract.realty.OrderValuationPage; import cz.moneta.test.dsl.hypos.pages.contract.realty.UnitDetailPage; import cz.moneta.test.dsl.hypos.pages.contract.realty.ValuationDetailPage; import cz.moneta.test.dsl.hypos.pages.realty.RealtyMenuPage; +import cz.moneta.test.dsl.util.DateUtils; import cz.moneta.test.dsl.util.data.YamlLoader; import java.util.function.Function; import static cz.moneta.test.dsl.hypos.enums.HyposLogType.TASK; +import static cz.moneta.test.dsl.hypos.tasks.HyposTasks.defaultDateFormat; public class ValuationTasks { private final String YAML_REALTY_DETAIL_PATH = "yamls/hypos/realtyDetails"; @@ -54,8 +56,7 @@ public class ValuationTasks { .selectPledgeType(data.realtyCategories.get(realtyType).pledgeType) .selectPledgeCode(data.realtyCategories.get(realtyType).pledgeCode) .clickUseThisUnitCheckbox() - .clickSaveButton() - ; + .clickSaveButton(); } /** @@ -77,8 +78,7 @@ public class ValuationTasks { .clickSubmit() .checkUnitUsage(data.realtyCategories.get(realtyType).orientationNumber, data.realtyCategories.get(realtyType).tdPosition) .clickRealty() - .clickRealtyDetail() - ; + .clickRealtyDetail(); } /** @@ -99,8 +99,7 @@ public class ValuationTasks { .clickAutosuggestLink(data.realtyCategories.get(realtyType).propertyArea) .fillDocumentNumber(data.realtyCategories.get(realtyType).documentNumber) .clickSubmit() - .addUnit(data.realtyCategories.get(realtyType).orientationNumber) - ; + .addUnit(data.realtyCategories.get(realtyType).orientationNumber); } /** @@ -113,8 +112,7 @@ public class ValuationTasks { return start -> start .clickRealty() .clickRealtyDetail() - .clickOnOrderValuation() - ; + .clickOnOrderValuation(); } /** @@ -128,8 +126,7 @@ public class ValuationTasks { .checkSharedElements() .checkFlatElements() .checkHouseElements() - .checkLandElements() - ; + .checkLandElements(); } public Function doFlatMarketValuation() { @@ -161,7 +158,6 @@ public class ValuationTasks { .selectContactRole("Žadatel o úvěr") .insertPurchasePrice(data.valuationDetails.get(valuationType).price) .clickDocumentsAvailable() - .waitFlatDispositionClickable() .selectDisposition(data.valuationDetails.get(valuationType).disposition) .insertArea(data.valuationDetails.get(valuationType).area) .selectFlatState(data.valuationDetails.get(valuationType).state) @@ -178,9 +174,7 @@ public class ValuationTasks { .clickElevatorYes() .clickDocumentsLater() .clickSave() - .waitForValuationComplete() - .verifyValuationType(data.valuationDetails.get(valuationType).valuation) - ; + .waitForValuationComplete(); } /** @@ -203,7 +197,6 @@ public class ValuationTasks { .selectContactRole("Žadatel o úvěr") .insertPurchasePrice(data.valuationDetails.get(valuationType).price) .clickDocumentsAvailable() - .waitHouseMaterialClickable() .selectConstructionMaterial(data.valuationDetails.get(valuationType).material) .insertBuildYear(data.valuationDetails.get(valuationType).year) .insertAreaTotalHouse(data.valuationDetails.get(valuationType).area) @@ -214,9 +207,7 @@ public class ValuationTasks { .clickNoSeparateGarageInHouse() .clickDocumentsLater() .clickSave() - .waitForValuationComplete() - .verifyValuationType(data.valuationDetails.get(valuationType).valuation) - ; + .waitForValuationComplete(); } /** @@ -233,8 +224,7 @@ public class ValuationTasks { .clickDeferOrderInput() .acceptAlert() .verifyLastOperation("odloženo") - .verifyLastOperationComment() - ; + .verifyLastOperationComment(); } /** @@ -250,8 +240,7 @@ public class ValuationTasks { .clickCancelOrderInput() .acceptAlert() .verifyLastOperation("zrušeno") - .verifyLastOperationComment() - ; + .verifyLastOperationComment(); } /** @@ -267,8 +256,7 @@ public class ValuationTasks { .clickGiveOrderInput() .acceptAlert() .verifyLastOperation("předáno") - .verifyLastOperationComment() - ; + .verifyLastOperationComment(); } /** @@ -281,8 +269,7 @@ public class ValuationTasks { return start -> start .clickTakeOrder() .acceptAlert() - .verifyLastOperation("převzato") - ; + .verifyLastOperation("převzato"); } /** @@ -304,8 +291,7 @@ public class ValuationTasks { .clickSaveAll() .clickProcessOrder() .acceptAlert() - .waitForValuationCompleted() - ; + .waitForValuationCompleted(); } public Function finishFlatOrder() { @@ -323,6 +309,7 @@ public class ValuationTasks { .clickRisks() .setAllRisksNo() .clickFinalSection() + .clickComparativeMethod() .clickComparatorAddRealty() .insertComparatorRealtyArea("50") .insertComparatorPrice("50000") @@ -364,6 +351,7 @@ public class ValuationTasks { .clickRisks() .setAllRisksNo() .clickFinalSection() + .clickComparativeMethod() .clickComparatorAddRealty() .insertComparatorRealtyArea("50") .insertSurroundSpace("800") @@ -378,6 +366,7 @@ public class ValuationTasks { .insertComparatorLandArea("80") .insertComparatorPrice("50000") .insertCurrentPrice(6800000) + .insertLocalInvestigationDate(DateUtils.getFormattedTodayDate(defaultDateFormat)) .clickSaveAll() .clickProcessOrder() .acceptAlert() @@ -405,8 +394,7 @@ public class ValuationTasks { .checkElements(selectElements, "select") .checkElements(inputElement, "input") .checkElements(textAreaElements, "textarea") - .clickRealtyDescription() - ; + .clickRealtyDescription(); } /** @@ -418,8 +406,7 @@ public class ValuationTasks { return start -> start .clickRealtyDescription() .clickFinalSection() - .doCalculationAndVerify() - ; + .doCalculationAndVerify(); } public Function searchCadasterRedocDetail(String areaCode, String lv) { diff --git a/tests/src/main/java/cz/moneta/test/dsl/messaging/Messaging.java b/tests/src/main/java/cz/moneta/test/dsl/messaging/Messaging.java deleted file mode 100644 index 1424a70..0000000 --- a/tests/src/main/java/cz/moneta/test/dsl/messaging/Messaging.java +++ /dev/null @@ -1,26 +0,0 @@ -package cz.moneta.test.dsl.messaging; - -import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.endpoints.messaging.MessagingEndpoint; -import cz.moneta.test.harness.support.messaging.MessagingRequest; - -public class Messaging { - - private final Harness harness; - - public Messaging(Harness harness) { - this.harness = harness; - } - - public MessagingRequest to(String destinationName) { - return request().to(destinationName); - } - - public MessagingRequest from(String destinationName) { - return request().from(destinationName); - } - - public MessagingRequest request() { - return MessagingRequest.builder(harness.getEndpoint(MessagingEndpoint.class)); - } -} diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/documents/DocumentsModalPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/documents/DocumentsModalPage.java index 5eb1329..7648c95 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/documents/DocumentsModalPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/documents/DocumentsModalPage.java @@ -4,20 +4,25 @@ import cz.moneta.test.dsl.newib.NewIbPageFlow; import cz.moneta.test.dsl.newib.mainpage.DashboardPage; import cz.moneta.test.harness.context.StoreAccessor; import cz.moneta.test.harness.endpoints.ib.NewIbEndpoint; -import cz.moneta.test.harness.support.web.CheckElementPresent; -import cz.moneta.test.harness.support.web.Click; -import cz.moneta.test.harness.support.web.CustomAction; -import cz.moneta.test.harness.support.web.Wait; +import cz.moneta.test.harness.support.web.*; import static cz.moneta.test.dsl.newib.documents.DocumentsModalPage.*; import static org.junit.jupiter.api.Assertions.assertTrue; -@Wait({DOCUMENTS_TITLE_XPATH, FILTER_BTN_XPATH}) +@Wait(value = {DOCUMENTS_TITLE_XPATH, FILTER_BTN_XPATH, LOAD_MORE_DOCUMENTS_BUTTON_XPATH, DOWNLOAD_BUTTON_XPATH, INFO_TEXT_XPATH}, waitSecondsForElement = 30) public interface DocumentsModalPage extends NewIbPageFlow, StoreAccessor { String DOCUMENTS_TITLE_XPATH = "//h1[@class='t-title t-title--h3 u-mb--0'][text()='Dokumenty']"; - String FILTER_BTN_XPATH = "//button[@data-testid='show-filter-button']"; + String FILTER_BTN_XPATH = "//button[@data-testid='show-filter-button' and text()='Podrobné hledání']"; String CLOSE_BTN_XPATH = "//button[@data-testid='close-documents-button']"; + String DOCUMENT_NAME_XPATH = "//span[@data-testid='TextComponent' and text()='%s']"; + String LOAD_MORE_DOCUMENTS_BUTTON_XPATH = "//button[@data-testid='load-more-documents' and text()='Zobrazit 10 dalších dokumentů']"; + String DOWNLOAD_BUTTON_XPATH = "//button[@data-testid='Button' and text()='Stáhnout']"; + String INFO_TEXT_XPATH = "//p[@data-testid='TextComponent' and contains(., 'Základní Produktové podmínky, speciální Produktové podmínky, Sazebník, Úrokový lístek, Reklamační řád a ') and contains(., 'další smluvní dokumenty najdete na našem webu')]"; + String LINK_XPATH = "//a[@href='https://www.moneta.cz/dokumenty-ke-stazeni']"; + String OPEN_DOCUMENT_TITLE_XPATH = "//h1[@class='t-title t-title--h3 u-mb--0' and text()='Záznam o podané reklamaci/stížnosti']"; + String PRINT_BUTTON_XPATH = "//button[@aria-label='Vytisknout']"; + String OPEN_DOCUMENT_DOWNLOAD_BUTTON_XPATH = "//button[@aria-label='Stáhnout']"; @CheckElementPresent(DOCUMENTS_TITLE_XPATH) DocumentsModalPage checkDocumentsTitleIsPresent(); @@ -39,4 +44,22 @@ public interface DocumentsModalPage extends NewIbPageFlow, S @Click(CLOSE_BTN_XPATH) DashboardPage closeDocumentsModal(); + + @CheckElementPresent(value = DOCUMENT_NAME_XPATH, isStringDynamicXpath = true) + DocumentsModalPage checkDocumentName(String documentName); + + @Click(LINK_XPATH) + DocumentsModalPage clickOnLink(); + + @Click(value = DOCUMENT_NAME_XPATH, isStringDynamicXpath = true) + DocumentsModalPage clickOnDocument(String documentName); + + @CheckElementPresent(OPEN_DOCUMENT_TITLE_XPATH) + DocumentsModalPage checkOpenDocumentTitle(); + + @CheckElementPresent(PRINT_BUTTON_XPATH) + DocumentsModalPage checkPrintButton(); + + @CheckElementPresent(OPEN_DOCUMENT_DOWNLOAD_BUTTON_XPATH) + DocumentsModalPage checkDownloadButton(); } diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/BuildingSavingsPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/BuildingSavingsPage.java index a81b86b..40943f8 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/BuildingSavingsPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/BuildingSavingsPage.java @@ -11,13 +11,12 @@ import static cz.moneta.test.dsl.newib.mainpage.BuildingSavingsPage.BUILDING_SAV public interface BuildingSavingsPage extends NewIbPageFlow { String BUILDING_SAVINGS_TITLE_XPATH = "//h1[text()='Stavební spoření']"; - String BUILDING_SAVINGS_BANNER_XPATH = "//div[contains(@class, 'styles_banner__text__17Nq2') and (.//h2/span)='Zdvojnásobení státní podpory a navíc bonus 500 Kč za sjednání online']"; String BUILDING_SAVINGS_TEXT_XPATH = "//div[@class='c-card__header__text'][contains(., 'Nastavte si své stavební spoření') and contains(., 'Měsíční vklad') and contains(., 'Doba spoření') and contains(., 'Cílová částka') and contains(., 'Celkem naspoříte') and contains(., 'Vlastní vklad') and contains(., 'Státní podpora, v prvních 6 letech Vám ji zdvojnásobíme') and contains(., 'Poplatek za uzavření') and contains(., 'Měsíční vedení účtu stavebního spoření')]"; String MONTHLY_PAYMENT_XPATH = "//input[@id='monthlyPayment']"; String MONTHLY_PAYMENT_DEFAULT_XPATH = "//input[@id='monthlyPayment' and @value='1 700']"; String MONTHLY_PAYMENT_ALERT_MAX_XPATH = "//div[@class='c-alert__text' and contains(., 'Skvělé, dosáhnete na maximální státní podporu') and contains(., '1') and contains(., '000') and contains(., 'Kč ročně. Tu Vám navíc za prvních 6 let zdvojnásobíme.')]"; String MONTHLY_PAYMENT_ALERT_MIN_XPATH = "//div[@class='c-alert__text' and contains(., 'Vkládejte alespoň') and contains(., '1') and contains (., '700') and contains(., 'Kč měsíčně pro zisk maximální státní podpory') and contains(., '1') and contains(., '000') and contains(., 'Kč ročně, kterou Vám navíc za prvních 6 let zdvojnásobíme.')]"; - String TARGET_AMOUNT_OVERALL_XPATH = "//input[@id='targetAmount' and @value='5 178 000']"; + String TARGET_AMOUNT_OVERALL_XPATH = "//input[@id='targetAmount' and @value='%s']"; String TARGET_AMOUNT_XPATH = "//input[@id='targetAmount']"; String CHECKBOX_STATE_CONTRIBUTION_XPATH = "//label[@for='stateContributionEnabled']//span[text()='Požaduji státní podporu']"; String CONTINUE_BUTTON_XPATH = "//button[@data-testid='Button'][text()='Pokračovat']"; @@ -27,16 +26,13 @@ public interface BuildingSavingsPage extends NewIbPageFlow String SET_STANDING_ORDER_BUTTON_XPATH = "//button[@data-testid='Button'][text()='Nastavit trvalý příkaz']"; String STANDING_ORDER_DESTINATION_ACC_NUMBER_XPATH = "//input[@id='destinationAccountNumber' and string-length(@value) > 0]"; String STANDING_ORDER_DESTINATION_ACC_BANK_XPATH = "//button[@id='destinationAccountBank_button']//span[text()='7970']"; - String STANDING_ORDER_AMOUNT_XPATH = "//input[@id='amount' and @value='1 700']"; + String STANDING_ORDER_AMOUNT_XPATH = "//input[@id='amount' and @value='%s']"; String STANDING_ORDER_FREQUENCY_XPATH = "//button[@id='frequency_button']//span[text()='Měsíčně']"; String STANDING_ORDER_NOTE_FOR_RECIPIENT_XPATH = "//textarea[@id='noteForRecipient' and text()='Stavební spoření']"; String STANDING_ORDER_CONTINUE_BUTTON_XPATH = "//button[@data-testid='submit' and text()='Pokračovat']"; String STANDING_ORDER_CONFIRM_BUTTON_XPATH = "//button[@data-testid='submit' and text()='Potvrdit']"; String STANDING_ORDER_VICTORY_TITLE_PAGE_XPATH = "//h1[contains(., 'Trvalý příkaz byl přijat ke zpracování')]"; - @CheckElementPresent(BUILDING_SAVINGS_BANNER_XPATH) - BuildingSavingsPage checkBuildingSavingsBanner(); - @CheckElementPresent(MONTHLY_PAYMENT_DEFAULT_XPATH) BuildingSavingsPage checkMonthlyPaymentDefault(); @@ -52,8 +48,8 @@ public interface BuildingSavingsPage extends NewIbPageFlow @CheckElementPresent(MONTHLY_PAYMENT_ALERT_MIN_XPATH) BuildingSavingsPage checkMonthlyPaymentMinAlert(); - @CheckElementPresent(TARGET_AMOUNT_OVERALL_XPATH) - BuildingSavingsPage checkTargetAmountOverall(); + @CheckElementPresent(value = TARGET_AMOUNT_OVERALL_XPATH, isStringDynamicXpath = true) + BuildingSavingsPage checkTargetAmountOverall(String amount); @Click(TARGET_AMOUNT_XPATH) BuildingSavingsPage clickOnTargetAmount(); @@ -83,8 +79,8 @@ public interface BuildingSavingsPage extends NewIbPageFlow @CheckElementPresent(STANDING_ORDER_DESTINATION_ACC_BANK_XPATH) BuildingSavingsPage checkDestinationAccBank(); - @CheckElementPresent(STANDING_ORDER_AMOUNT_XPATH) - BuildingSavingsPage checkAmount(); + @CheckElementPresent(value = STANDING_ORDER_AMOUNT_XPATH, isStringDynamicXpath = true) + BuildingSavingsPage checkAmount(String amount); @CheckElementPresent(STANDING_ORDER_FREQUENCY_XPATH) BuildingSavingsPage checkFrequency(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/DashboardPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/DashboardPage.java index 854cdcb..fc954fc 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/DashboardPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/mainpage/DashboardPage.java @@ -38,6 +38,11 @@ public interface DashboardPage extends NewIbPageFlow, HorizontalM String RTV_CARD = "//small[contains(., '%s')]"; String PENSION_CARD_XPATH = "//div[contains(@class,'productCard__header')][.//span[contains(., 'Penze')] and .//small[contains(., 'Doplňkové penzijní spoření')]]"; String PENSION_CARD_SAVED_TEXT_XPATH = "//div[contains(@class,'productCard__ballance__ledger')]//small[normalize-space(.)='Naspořeno']"; + String USE_MOBILE_KEY_BUTTON_XPATH = "//button[@data-testid='buttonUseMobileKey']"; + String CHECK_BOX_MOBILE_KEY_XPATH = "//span[@class='f-checkbox__indicator']"; + String CONFIRMATION_MOBILE_KEY_XPATH = "//button[@data-testid='confirmButton']"; + String MOBILE_KEY_INPUT = "//label[text()='Mobilní klíč']/following::input[@id='mobileKey']"; + String FINAL_MOBILE_KEY_CONFIRM_XPATH = "//button[@data-testid='secondFactorSend']"; @Click(CHECK_AND_SIGN_NEW_DOCUMENT_BUTTON_XPATH) SigningModalPage clickCheckAndSignNewDocument(); @@ -117,4 +122,17 @@ public interface DashboardPage extends NewIbPageFlow, HorizontalM @CheckElementPresent(PENSION_CARD_SAVED_TEXT_XPATH) DashboardPage checkPensionCardSavedText(); + + @Click(USE_MOBILE_KEY_BUTTON_XPATH) + DashboardPage clickAgreeWithMobileKey(); + + @Click(CHECK_BOX_MOBILE_KEY_XPATH) + @Click(CONFIRMATION_MOBILE_KEY_XPATH) + DashboardPage clickAcceptMobileKey(); + + @TypeInto(MOBILE_KEY_INPUT) + DashboardPage typeSmsKey(String smsKey); + + @Click(FINAL_MOBILE_KEY_CONFIRM_XPATH) + DashboardPage clickFinalAgreeWithMobileKey(); } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/MessagesModalPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/MessagesModalPage.java index 8f2c835..4ce66f3 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/MessagesModalPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/MessagesModalPage.java @@ -14,18 +14,23 @@ public interface MessagesModalPage extends NewIbPageFlow, Sto String MESSAGES_TITLE_XPATH = "//h1[@class='t-title t-title--h3 u-mb--0'][text()='Zprávy']"; String NEW_MESSAGE_BTN_XPATH = "//button[@data-testid='new-message-button'][text()='Napsat novou zprávu']"; - String SENT_MESSAGES_BTN_XPATH = "//button[@class='c-btn c-btn--transparent c-btn--primary c-pills__listButton'][text()='Odeslané zprávy']"; + String SENT_MESSAGES_BTN_XPATH = "//button[@data-testid='Button'][text()='Odeslané zprávy']"; String UNREAD_MESSAGES_BTN_XPATH = "//button[@class='c-btn c-btn--transparent c-btn--primary c-pills__listButton'][text()='Nepřečtené zprávy']"; String INBOX_MESSAGES_BTN_XPATH = "//button[@class='c-btn c-btn--transparent c-btn--primary c-pills__listButton'][text()='Příchozí zprávy']"; String MESSAGE_ITEM_XPATH = "//span[text()='%s']"; String CLOSE_MODAL_BTN_XPATH = "//button[@data-testid='close-messages-button']"; String TOOLTIP_XPATH = "//span[@class='c-avatar__icon']"; String SUBJECT_OF_THE_RECEIVED_MESSAGE_XPATH = "//td[contains(., 'Test') and contains(., 'Hypotéky')]"; - String SUBJECT_OF_THE_SENT_MESSAGE_XPATH = "//td[contains(., 'Test') and contains(., 'Hypotéky')]"; + String SUBJECT_OF_THE_SENT_MESSAGE_XPATH = "//td[contains(., '%s') and contains(., 'Zahraniční platby upřesnění/zrušení')]"; String TEXT_OF_THE_RECEIVED_MESSAGE_XPATH = "//div[@class='custom-container']/div[normalize-space()='Test OK.']"; String ANSWER_BUTTON_XPATH = "//button[@class='c-btn c-btn--border c-btn--primary' and text()='Odpovědět']"; String TITLE_NEW_MESSAGE_XPATH = "//h1[@class='t-title t-title--h1' and text()='Napsat novou zprávu']"; String VIEW_PREVIOUS_COMMUNICATION = "//span[@class='u-fontWeightNormal styles_threadTitle__7F1cI' and contains(normalize-space(), 'Zobrazit předchozí komunikaci')]"; + String DELETE_BUTTON_XPATH = "//button[@data-testid='delete-button']"; + String DELETE_MESSAGE_TITLE_XPATH = "//h2[@class='t-title t-title--h3 c-modal__title' and text()='Smazat zprávu?']"; + String CONFIRM_DELETE_MESSAGE_XPATH = "//button[@data-testid='confirm-button' and text()='Smazat']"; + String CONFIRM_DELETE_MODAL_XPATH = "//h2[@class='t-title t-title--h3 c-modal__title' and text()='Zpráva je smazaná']"; + String CLOSE_CONFIRM_DELETE_MODAL_XPATH = "//button[@data-testid='confirm-button' and text()='Zavřít']"; @CheckElementPresent(MESSAGES_TITLE_XPATH) MessagesModalPage checkMessagesTitle(); @@ -77,12 +82,8 @@ public interface MessagesModalPage extends NewIbPageFlow, Sto @Click(SUBJECT_OF_THE_RECEIVED_MESSAGE_XPATH) MessagesModalPage clickOnReceivedMessage(); - @Wait(value = SUBJECT_OF_THE_SENT_MESSAGE_XPATH, until = Until.VISIBLE) - @CheckElementPresent(SUBJECT_OF_THE_SENT_MESSAGE_XPATH) - MessagesModalPage checkSubjectOfTheSentMessage(); - - @CheckElementContent(TEXT_OF_THE_RECEIVED_MESSAGE_XPATH) - MessagesModalPage checkTextOfTheReceivedMessage(String text); + @CheckElementPresent(TEXT_OF_THE_RECEIVED_MESSAGE_XPATH) + MessagesModalPage checkTextOfTheReceivedMessage(); @Click(ANSWER_BUTTON_XPATH) MessagesModalPage clickOnAnswerButton(); @@ -92,4 +93,23 @@ public interface MessagesModalPage extends NewIbPageFlow, Sto @CheckElementPresent(TITLE_NEW_MESSAGE_XPATH) MessagesModalPage checkTitleNewMessage(); + + @Wait(value = SUBJECT_OF_THE_SENT_MESSAGE_XPATH, explicitWaitSeconds = 1, isStringDynamicXpath = true) + @Click(value = SUBJECT_OF_THE_SENT_MESSAGE_XPATH, isStringDynamicXpath = true) + MessagesModalPage clickOnSentMessage(String lastMessageSubject); + + @Click(DELETE_BUTTON_XPATH) + MessagesModalPage clickOnDeleteButton(); + + @CheckElementPresent(DELETE_MESSAGE_TITLE_XPATH) + MessagesModalPage checkDeleteMessageTitle(); + + @Click(CONFIRM_DELETE_MESSAGE_XPATH) + MessagesModalPage clickOnConfirmDeleteMessage(); + + @CheckElementPresent(CONFIRM_DELETE_MODAL_XPATH) + MessagesModalPage checkConfirmDeleteModal(); + + @Click(CLOSE_CONFIRM_DELETE_MODAL_XPATH) + MessagesModalPage clickOnCloseConfirmDeleteButton(); } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessagePage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessagePage.java index f043ec0..51a3616 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessagePage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessagePage.java @@ -11,19 +11,20 @@ import static cz.moneta.test.dsl.newib.messages.NewMessagePage.*; public interface NewMessagePage extends NewIbPageFlow, StoreAccessor, Builder { String SUBJECT_INPUT_XPATH = "//input[@id='subject']"; - String TOPIC_BTN_XPATH = "//button[@class='c-btn c-btn--button f-control'][@name='type']"; - String TOPIC_OPTION_XPATH = "//div[@class='f-option__label'][text()='%s']"; - String MESSAGE_INPUT_XPATH = "//textarea[@class='f-control f-control--textarea']"; - String SEND_MESSAGE_BTN_XPATH = "//button[@data-testid='submit']"; + String TOPIC_BTN_XPATH = "//button[@class='f-control2 f-control2--select'][@name='type']"; + String TOPIC_OPTION_XPATH = "//div[@class='c-dropdown__itemContent'][text()='%s']"; + String MESSAGE_INPUT_XPATH = "//textarea[@class='f-control2 f-control2--textarea f-control2__placeholder']"; + String SEND_MESSAGE_BTN_XPATH = "//button[@data-testid='submit' and text()='Odeslat zprávu']"; String AMOUNT_INPUT_XPATH = "//label[@for='amount']//following::input[@id='amount']"; String WITHDRAWAL_DATE_INPUT_XPATH = "//input[@id='dateTime']"; String CLIENT_PHONE_NUMBER_INPUT_XPATH = "//input[@id='clientPhoneNumber']"; - String BRANCH_INPUT_XPATH = "//input[@name='branchId']"; + String BRANCH_XPATH = "//button[@id='branchId_button']"; + String BRANCH_OPTION_XPATH = "//div[@class='c-dropdown__itemContent'][text()='%s']"; String AGREEMENT_CHECKBOX_XPATH = "//label[@for='agreement']"; String AGREEMENT_CHECKBOX_OVERLIMIT_WITHDRAW_XPATH = "//input[@id='agreement']//following::span[contains(text(), 'Potvrzuji')]"; String IBAN_INPUT_XPATH = "//input[@id='destinationAccountIban']"; String CURRENCY_BTN_XPATH = "//div[@data-testid='currency']"; - String CURRENCY_OPTION_XPATH = "//div[@class='f-option__label'][text()='%s']"; + String CURRENCY_OPTION_XPATH = "//div[@class='c-dropdown__itemContent'][text()='%s']"; String DUE_DATE_INPUT_XPATH = "//input[@id='dueDate']"; String TRANSACTION_DATE_INPUT_XPATH = "//input[@id='dueDate']"; String DESTINATION_ACC_NUMBER_INPUT_XPATH = "//input[@id='destinationAccountNumber']"; @@ -38,8 +39,10 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce String PHONE_NUMBER_FOR_REFUND_INPUT_XPATH = "//input[@id='phoneNumber']"; String RECIPIENT_MESSAGE_INPUT_XPATH = "//input[@id='text']"; String REPEATED_REQUEST_CHECKBOX_XPATH = "//label[@for='urgentMessage']"; - String TYPE_OF_COMPLAINTS_AND_CLAIMS = "//button[@id='subtype']"; - String COMPLAINTS_CLAIMS_OPTION = "//div[@class='f-option__label'][text()='%s']"; + String TYPE_OF_COMPLAINTS_AND_CLAIMS = "//button[@id='subtype_button']"; + String COMPLAINTS_CLAIMS_OPTION = "//div[@class='c-dropdown__itemContent'][text()='%s']"; + String TITLE_TOPIC_XPATH = "//span[@class='f-control2__valueTitle']"; + String SUBJECT_OVERDRAFT_DISABLED_XPATH = "//input[@value='Nadlimitní výběr (= výběr nad 100.000 Kč nebo ekvivalent v cizí měně)'][@disabled]"; @TypeInto(SUBJECT_INPUT_XPATH) NewMessagePage setSubject(String subject); @@ -53,7 +56,6 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce newIbEndpoint.click(() -> TOPIC_BTN_XPATH); newIbEndpoint.sleepSeconds(1); newIbEndpoint.click(() -> String.format(TOPIC_OPTION_XPATH, topic)); - newIbEndpoint.waitForElementsToLoad(5, String.format(TOPIC_OPTION_XPATH, topic)); return null; } @@ -63,7 +65,6 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce newIbEndpoint.click(() -> TYPE_OF_COMPLAINTS_AND_CLAIMS); newIbEndpoint.sleepSeconds(1); newIbEndpoint.click(() -> String.format(COMPLAINTS_CLAIMS_OPTION, typeOfComplaintsAndClaims)); - newIbEndpoint.waitForElementsToLoad(5, String.format(COMPLAINTS_CLAIMS_OPTION, typeOfComplaintsAndClaims)); return null; } @@ -73,7 +74,6 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce newIbEndpoint.click(() -> CURRENCY_BTN_XPATH); newIbEndpoint.sleepSeconds(1); newIbEndpoint.click(() -> String.format(CURRENCY_OPTION_XPATH, currency)); - newIbEndpoint.waitForElementsToLoad(5, String.format(CURRENCY_OPTION_XPATH, currency)); return null; } @@ -119,8 +119,9 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce @CustomAction default NewMessagePage setBranch(String branch) { NewIbEndpoint newIbEndpoint = getEndpoint(NewIbEndpoint.class); - newIbEndpoint.type(() -> BRANCH_INPUT_XPATH, branch, true); - newIbEndpoint.sendKeysOneAtATime(Key.ENTER); + newIbEndpoint.click(() -> BRANCH_XPATH); + newIbEndpoint.sleepSeconds(1); + newIbEndpoint.click(() -> String.format(BRANCH_OPTION_XPATH, branch)); return null; } @@ -153,4 +154,10 @@ public interface NewMessagePage extends NewIbPageFlow, StoreAcce @TypeInto(RECIPIENT_MESSAGE_INPUT_XPATH) NewMessagePage setRecipientMessage(String recipientMessage); + + @CheckElementContent(TITLE_TOPIC_XPATH) + NewMessagePage checkTitleTopic(String titleTopic); + + @CheckElementPresent(SUBJECT_OVERDRAFT_DISABLED_XPATH) + NewMessagePage checkSubjectOverdraftDisabled(); } diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessageVictoryPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessageVictoryPage.java index 0a9f24f..65ec3bf 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessageVictoryPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/messages/NewMessageVictoryPage.java @@ -8,13 +8,14 @@ import cz.moneta.test.harness.support.web.Wait; import static cz.moneta.test.dsl.newib.messages.NewMessageVictoryPage.*; -@Wait(value = {NEW_MESSAGE_BTN_XPATH, BACK_TO_MESSAGES_BTN_XPATH}, waitSecondsForElement = 30) +@Wait(value = {NEW_MESSAGE_BTN_XPATH, BACK_TO_MESSAGES_BTN_XPATH, MESSAGE_SENT_VICTORY_TITLE_XPATH,}, waitSecondsForElement = 30) public interface NewMessageVictoryPage extends NewIbPageFlow { - String NEW_MESSAGE_BTN_XPATH = "//button[@data-testid='submit']"; - String BACK_TO_MESSAGES_BTN_XPATH = "//button[@data-testid='back']"; - String MESSAGE_SENT_VICTORY_TITLE_XPATH = "//h4[text()='Děkujeme Vám za zprávu a potvrzujeme její přijetí']"; + String NEW_MESSAGE_BTN_XPATH = "//button[@data-testid='submit' and text()='Napsat další zprávu']"; + String BACK_TO_MESSAGES_BTN_XPATH = "//button[@data-testid='back' and text()='Zpět na seznam zpráv']"; + String MESSAGE_SENT_VICTORY_TITLE_XPATH = "//*[text()='Děkujeme Vám za zprávu a potvrzujeme její přijetí']"; String CLOSE_MODAL_BTN_XPATH = "//button[@data-testid='close-messages-button']"; + String MESSAGE_SENT_VICTORY_TEXT_XPATH = "//p[text()='Děkujeme Vám za zprávu a potvrzujeme její přijetí. Odpověď obdržíte v nejkratším možném čase.']"; @Wait(value = MESSAGE_SENT_VICTORY_TITLE_XPATH, waitSecondsForElement = 15) @CheckElementPresent(MESSAGE_SENT_VICTORY_TITLE_XPATH) @@ -28,4 +29,7 @@ public interface NewMessageVictoryPage extends NewIbPageFlow { String VICTORY_HEADER_XPATH = "//h1[@data-testid='dps-contribution-victory-header' and text()='Doplňkové penzijní spoření']"; String VICTORY_TITLE_XPATH = "//h2[@data-testid='dps-contribution-victory-title' and contains(., 'Hotovo! Změna Doplňkového penzijního spoření je platná od')]"; String VICTORY_TEXT_XPATH = "//span[@data-testid='dps-contribution-victory-text' and text()='Pokud Vám bude na spoření přispívat zaměstnavatel, přepošlete mu prosím smlouvu od NN penzijní společnosti. Najdete ji ve svém e-mailu.']"; - String VICTORY_ALERT_XPATH = "//div[@class='c-alert__text' and contains(., 'Nezapomeňte si nastavit výši vašeho trvalého příkazu na 15') and contains(., '000 Kč.')]"; + String VICTORY_ALERT_XPATH = "//div[@class='c-alert__text' and contains(., 'Nezapomeňte si nastavit výši vašeho trvalého příkazu na')]"; String STANDING_ORDER_BUTTON_XPATH = "//button[@data-testid='dps-contribution-victory-btn-next' and text()='Nastavit trvalý příkaz']"; String CLOSE_SETTINGS_BUTTON_XPATH = "//button[@data-testid='settings_modal-close']"; String BACK_TO_DASHBOARD_BUTTON_XPATH = "//button[@data-testid='dps-contribution-victory-btn-back' and text()='Zpět na Přehled']"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/cards/CardsSettingsPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/cards/CardsSettingsPage.java index 24363a4..2bd18e9 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/cards/CardsSettingsPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/cards/CardsSettingsPage.java @@ -9,7 +9,7 @@ import static cz.moneta.test.dsl.newib.settings.cards.CardsSettingsPage.TITLE_XP public interface CardsSettingsPage extends NewIbPageFlow { String TITLE_XPATH = "//h2[@class='t-title t-title--h3' and text()='Karty']"; String CREDIT_CARDS_TAB_XPATH = "//span[@data-testid='credit-cards-tab' and text()='Kreditní']"; - String NO_CREDIT_CARDS_XPATH = "//div[@class='u-colorSecondary u-m--medium' and text()='Momentálně nemáte žádné kreditní karty.']"; + String NO_CREDIT_CARDS_XPATH = "//div[@data-testid='TextComponent' and text()='Momentálně nemáte žádné kreditní karty.']"; String DEBIT_CARDS_TAB_XPATH = "//span[@data-testid='debit-cards-tab' and text()='Debetní']"; String DEBIT_CARDS_TO_THE_ACCOUNT_XPATH = "//span[@data-testid='TextComponent']/small[normalize-space(.)='Debetní karty k účtu']"; String CARDS_TO_THE_ACCOUNT_XPATH = "//h5[@class='t-title t-title--h5 u-mb--0 u-mr--0' and text()='Karty k účtu (2)']"; @@ -86,19 +86,19 @@ public interface CardsSettingsPage extends NewIbPageFlow { @Click(DEBIT_CARDS_TAB_XPATH) CardsSettingsPage clickOnDebitCardsTab(); - @Wait(value = DEBIT_CARDS_TO_THE_ACCOUNT_XPATH, until = Until.VISIBLE) + @Wait(value = DEBIT_CARDS_TO_THE_ACCOUNT_XPATH, until = Until.CLICKABLE) @Click(DEBIT_CARDS_TO_THE_ACCOUNT_XPATH) CardsSettingsPage clickOnDebitCardsToTheAccount(); - @Wait(value = CARDS_TO_THE_ACCOUNT_XPATH, until = Until.VISIBLE) + @Wait(value = CARDS_TO_THE_ACCOUNT_XPATH, until = Until.CLICKABLE) @Click(CARDS_TO_THE_ACCOUNT_XPATH) CardsSettingsPage clickOnCardsToTheAccount(); - @Wait(value = CARD_DETAIL_BUTTON_XPATH, until = Until.VISIBLE) + @Wait(value = CARD_DETAIL_BUTTON_XPATH, until = Until.CLICKABLE) @Click(CARD_DETAIL_BUTTON_XPATH) CardsSettingsPage clickOnCardDetail(); - @Wait(value = CARD_DETAIL_TITLE_XPATH, until = Until.VISIBLE) + @Wait(value = CARD_DETAIL_TITLE_XPATH, until = Until.CLICKABLE) @CheckElementPresent(CARD_DETAIL_TITLE_XPATH) CardsSettingsPage checkCardDetailTitle(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/communication/contacts/ContactsPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/communication/contacts/ContactsPage.java index 1073434..c850fdf 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/communication/contacts/ContactsPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/communication/contacts/ContactsPage.java @@ -11,13 +11,13 @@ import static cz.moneta.test.dsl.newib.settings.communication.contacts.ContactsP public interface ContactsPage extends NewIbPageFlow { String CONTACTS_TITLE_XPATH = "//h1[@class='t-title t-title--h3'][text()='Kontakty']"; String NEW_CONTACT_BTN_XPATH = "//button[@data-testid='create-contact-button']"; - String DELETE_CONTACT_BTN_XPATH = "//div[contains(@class,'row') and .//span[@class='u-fontWeightBold' and normalize-space(text())='%s']]//button[@aria-label='Smazat']"; - String EDIT_CONTACT_BTN_XPATH = "//div[contains(@class,'row') and .//span[@class='u-fontWeightBold' and normalize-space(text())='%s']]//button[@aria-label='Upravit']"; - String CREATED_CONTACT_NAME_XPATH = "//span[@class='u-fontWeightBold'][text()='%s']"; + String DELETE_CONTACT_BTN_XPATH = "//tr[.//h2[normalize-space()='%s']]//button[@aria-label='Smazat']"; + String EDIT_CONTACT_BTN_XPATH = "//tr[.//h2[normalize-space()='%s']]//button[@aria-label='Upravit']"; + String CREATED_CONTACT_NAME_XPATH = "//h2[@class='t-title t-title--h6 c-contentTableRow__title'][text()='%s']"; String CONFIRM_DELETE_BTN_XPATH = "//button[@data-testid='button-confirm'][text()='Smazat']"; String CONTACT_DELETED_CONFIRM_SCREEN_VICTORY_TEXT = "//h2[@class='t-title t-title--h3 c-modal__title'][text()='Kontakt je smazaný']"; String CLOSE_DELETED_CONFIRM_MODAL_BTN_XPATH = "//button[@data-testid='confirm-close-and-reload'][text()='Zavřít']"; - String CONTACT_FOR_MOBILE_KEY_XPATH = "//span[@data-testid='TextComponent'][text()='Telefon pro mobilní klíč IB']"; + String CONTACT_FOR_MOBILE_KEY_XPATH = "//h2[@class='t-title t-title--h6 c-contentTableRow__title'][text()='Telefon pro mobilní klíč IB']"; @Click(NEW_CONTACT_BTN_XPATH) CreateNewContactPage createNewContact(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EditEnvelopeVictoryPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EditEnvelopeVictoryPage.java index 851f7db..cbc1648 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EditEnvelopeVictoryPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EditEnvelopeVictoryPage.java @@ -12,7 +12,7 @@ import static cz.moneta.test.dsl.newib.settings.envelopes.EditEnvelopeVictoryPag public interface EditEnvelopeVictoryPage extends NewIbPageFlow { String NEW_ENVELOPE_VICTORY_TITLE_XPATH = "//h4[@class='t-title t-title--h4'][text()='Obálka byla upravena']"; - String BACK_TO_ENVELOPES_BTN_XPATH = "//button[@class='c-btn'][text()='Zpět na seznam obálek']"; + String BACK_TO_ENVELOPES_BTN_XPATH = "//button[@data-testid='submit'][text()='Zpět na seznam obálek']"; @CheckElementPresent(NEW_ENVELOPE_VICTORY_TITLE_XPATH) EditEnvelopeVictoryPage checkEditVictoryScreenIsPresent(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EnvelopesPage.java b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EnvelopesPage.java index 7926918..5ac297b 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EnvelopesPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/settings/envelopes/EnvelopesPage.java @@ -15,7 +15,7 @@ public interface EnvelopesPage extends NewIbPageFlow { String DELETE_ENVELOPE_BTN_XPATH = "//button[@aria-label='Smazat']"; String CONFIRM_DELETE_BTN_XPATH = "//button[@data-testid='button-confirm'][text()='Smazat']"; String ENVELOPE_DELETED_CONFIRM_SCREEN_VICTORY_TEXT = "//h2[@class='t-title t-title--h3 c-modal__title'][text()='Obálka byla smazána']"; - String CLOSE_DELETED_CONFIRM_MODAL_BTN_XPATH = "//button[@class='c-btn'][text()='Zavřít']"; + String CLOSE_DELETED_CONFIRM_MODAL_BTN_XPATH = "//button[@data-testid='confirm-close-and-reload'][text()='Zavřít']"; String NO_ENVELOPES_XPATH = "//small[normalize-space(.)='Momentálně nemáte žádnou obálku']"; String ENVELOPE_NAME_XPATH = "//div[@data-testid='TextComponent' and normalize-space(.)='%s']"; String ENVELOPE_AMOUNT_XPATH = "//div[@data-testid='TextComponent' and contains(normalize-space(.),'Chci si naspořit %s CZK')]"; diff --git a/tests/src/main/java/cz/moneta/test/dsl/newib/tasks/NewIbTasks.java b/tests/src/main/java/cz/moneta/test/dsl/newib/tasks/NewIbTasks.java index fd24de6..5541733 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/newib/tasks/NewIbTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/newib/tasks/NewIbTasks.java @@ -26,6 +26,7 @@ import cz.moneta.test.dsl.newib.settings.payments.sipo.SipoOrdersPage; import cz.moneta.test.dsl.newib.settings.payments.templates.TemplatesPage; import cz.moneta.test.dsl.newib.settings.payments.trustedcontacts.TrustedContactsPage; import cz.moneta.test.dsl.newib.util.*; +import cz.moneta.test.dsl.newib.documents.DocumentsModalPage; import java.util.function.Function; @@ -639,8 +640,7 @@ public final class NewIbTasks { .confirmDeleteEnvelope() .checkEnvelopeDeletedVictoryTextIsPresent() .closeDeletedEnvelopeConfirmationModal() - .checkNoEnvelopesMessageIsPresent() - ; + .checkNoEnvelopesMessageIsPresent(); } public Function changeIdViaSettings() { @@ -693,13 +693,14 @@ public final class NewIbTasks { .setFirstExchangeAmount("10") .clickOnRequestExchangeRate() .checkMinimumDebitAmountAlert() + .setSecondExchangeAmount("10") + .clickOnRequestExchangeRate() + .checkMinimumCreditAmountAlert() .setFirstExchangeAmount(formData.getFirstAmount()) .clickOnRequestExchangeRate() .clickOnNewSale() .clickOnRequestExchangeRate() .checkValidityOfferedRateIsPresent() - .waitUntilTimerRunsOutCheckAlert() - .clickOnRequestExchangeRate() .clickOnConcludeSale() .checkVictoryScreenIsPresent() .checkSaleAmountIsPresent() @@ -712,9 +713,6 @@ public final class NewIbTasks { .checkVictoryScreenIsPresent() .checkBuyAmountIsPresent() .clickOnNewSale() - .setSecondExchangeAmount("10") - .clickOnRequestExchangeRate() - .checkMinimumCreditAmountAlert() .setSecondExchangeAmount(formData.getSecondAmount()) .clickOnRequestExchangeRate() .clickOnConcludeSale() @@ -736,6 +734,14 @@ public final class NewIbTasks { .clickOnConcludeSale() .checkVictoryScreenIsPresent() .checkSellCurrencyAmountIsPresent("EUR") + .clickOnNewSale() + .setFirstExchangeAmount(formData.getFirstAmount()) + .clickOnRequestExchangeRate() + .waitUntilTimerRunsOutCheckAlert() + .clickOnRequestExchangeRate() + .clickOnConcludeSale() + .checkVictoryScreenIsPresent() + .checkSaleAmountIsPresent() .clickOnBackToOverview(); } @@ -932,6 +938,14 @@ public final class NewIbTasks { .checkTitleIsPresent(); } + public Function newClientSetupCards() { + return start -> start + .clickAgreeWithMobileKey() + .clickAcceptMobileKey() + .typeSmsKey("12341234") + .clickFinalAgreeWithMobileKey(); + } + public Function onboardingOfPlasticDebitCard() { return start -> start .goToAccounts() @@ -1764,7 +1778,6 @@ public final class NewIbTasks { public Function establishmentBuildingSavings(SavingsFormData formData) { return start -> start.goToSavings() .clickOnBuildingSavingsButton() - .checkBuildingSavingsBanner() .checkBuildingSavingsText() .checkMonthlyPaymentDefault() .checkMonthlyPaymentMaxAlert() @@ -1773,7 +1786,7 @@ public final class NewIbTasks { .setMonthlyPayment(formData.getMaxMonthlyPayment()) .checkMonthlyPaymentMaxAlert() .clickOnTargetAmount() - .checkTargetAmountOverall() + .checkTargetAmountOverall("5 231 000") .setMonthlyPayment(formData.getDefaultMonthlyPayment()) .clickOnCheckboxStateContribution() .clickOnCheckboxStateContribution() @@ -1826,7 +1839,7 @@ public final class NewIbTasks { .clickSetStandingOrderButton() .checkDestinationAccNumber() .checkDestinationAccBank() - .checkAmount() + .checkAmount("1 700") .checkFrequency() .checkOrderNoteForRecipient() .clickOnContinueButtonStandingOrder() @@ -2233,7 +2246,7 @@ public final class NewIbTasks { return start -> start.goToSavings() .clickOnPensionButton() .clickOnContributionsAndDepositsButton() - .fillDeposit("15000") + .fillDeposit("16000") .clickOnHasEmployerContributionCheckbox() .clickOnContinueButton() .clickOnContinueButton() @@ -2276,13 +2289,75 @@ public final class NewIbTasks { .checkTooltip() .clickOnUnreadMessages() .clickOnSentMessages() - .checkSubjectOfTheSentMessage() .clickOnInboxMessages() .checkSubjectOfTheReceivedMessage() .clickOnReceivedMessage() - .checkTextOfTheReceivedMessage("Test OK.") + .checkTextOfTheReceivedMessage() .checkViewPreviousCommunication() .clickOnAnswerButton() .checkTitleNewMessage(); } + + public Function sendingAmessageToTheBankTest(String lastMessageSubject) { + return start -> start.goToMessagesAndNotification() + .checkTooltip() + .clickOnNewMessage() + .checkTitleTopic("Účty") + .setSubject("Test") + .setTopic("Hypotéky") + .setMessage("Test OK.") + .clickOnSendMessage() + .checkMessageSentVictoryText() + .clickOnBackToMessages() + .clickOnSentMessages() + .clickOnSentMessage(lastMessageSubject) + .clickOnDeleteButton() + .checkDeleteMessageTitle() + .clickOnConfirmDeleteMessage() + .checkConfirmDeleteModal() + .clickOnCloseConfirmDeleteButton() + .clickOnNewMessage() + .setSubject("Test") + .setTopic("Reklamace a stížnosti") + .setTypeOfComplaintsAndClaims("Produkty a služby") + .setMessage("Test OK.") + .clickOnSendMessage() + .checkMessageSentVictoryTitle() + .clickOnNewMessage() + .setTopic("Nadlimitní výběr") + .checkSubjectOverdraftDisabled() + .setBranch("Praha 4, Vyskočilova 1442/1b, 14000") + .setAmount("100000") + .setWithdrawalDate("31.12.2030") + .setClientPhoneNumber("702777777") + .setMessage("Test") + .clickOnAgreement() + .clickOnSendMessage() + .checkMessageSentVictoryTitle() + .clickOnNewMessage() + .setSubject(lastMessageSubject) + .setTopic("Zahraniční platby upřesnění/zrušení") + .setIban("1111") + .setAmount("100") + .setCurrency("CZK") + .setDueDate("31.12.2030") + .setMessage("Test") + .clickOnAgreement() + .clickOnSendMessage() + .checkMessageSentVictoryTitle() + .checkMessageSentVictoryText() + .clickOnBackToMessages() + .clickOnSentMessages() + .clickOnSentMessage(lastMessageSubject); + } + + public Function documentsOverviewTest() { + return start -> start.goToDocuments() + .checkDocumentName("Záznam o podané reklamaci/stížnosti") + .clickOnLink() + .clickOnDocument("Záznam o podané reklamaci/stížnosti") + .checkOpenDocumentTitle() + .checkPrintButton() + .checkDownloadButton(); + } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/udebs/MessageMovements.java b/tests/src/main/java/cz/moneta/test/dsl/udebs/MessageMovements.java new file mode 100644 index 0000000..52ac792 --- /dev/null +++ b/tests/src/main/java/cz/moneta/test/dsl/udebs/MessageMovements.java @@ -0,0 +1,36 @@ +package cz.moneta.test.dsl.udebs; + +import cz.moneta.test.dsl.util.PollingUtils; +import cz.moneta.test.harness.context.StoreAccessor; +import cz.moneta.test.harness.endpoints.udebs.UdebsEndpoint; +import org.jooq.Record; +import org.jooq.Result; + +public class MessageMovements { + private final StoreAccessor harness; + + private final + String MESSAGE_MOVEMENTS = + "SELECT * FROM MAILMESSAGES mm " + + "INNER JOIN W_MESSAGEBODIES mb ON mm.MESSAGEBODYID = mb.MESSAGEBODYID " + + "WHERE mm.FROMCLIENTID = %s " + + "ORDER BY mm.BORNDATE DESC " + + "FETCH FIRST ROW ONLY"; + + public MessageMovements(StoreAccessor harness) { + this.harness = harness; + } + + private Result executeSqlMessageMovements(String... args) { + return harness.getEndpoint(UdebsEndpoint.class) + .executeSql(String.format(MESSAGE_MOVEMENTS, args)); + } + + public String getLastMessageMovement(long waitForResponseInSeconds, String clientId, String expectedMessage) { + return PollingUtils.waitForExpectedResultForSeconds(expectedMessage, waitForResponseInSeconds, + () -> executeSqlMessageMovements(clientId) + .getValues("SUBJECT") + .get(0) + .toString()); + } +} diff --git a/tests/src/main/java/cz/moneta/test/dsl/udebs/Udebs.java b/tests/src/main/java/cz/moneta/test/dsl/udebs/Udebs.java index 225e6fb..88980c6 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/udebs/Udebs.java +++ b/tests/src/main/java/cz/moneta/test/dsl/udebs/Udebs.java @@ -68,4 +68,8 @@ public class Udebs { public TransactionStatusBuilder setTransactionStatus() { return new TransactionStatusBuilder(harness); } + + public MessageMovements messageMovements() { + return new MessageMovements(harness); + } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/pages/fon/DMS001_S001_ScanDocumentsPage.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/pages/fon/DMS001_S001_ScanDocumentsPage.java index 404c7d2..42b4254 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/pages/fon/DMS001_S001_ScanDocumentsPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/pages/fon/DMS001_S001_ScanDocumentsPage.java @@ -89,13 +89,13 @@ public interface DMS001_S001_ScanDocumentsPage extends StoreAccessor, WebFlow, StoreAccessor { String DMS070_S001_PAGE_LABEL_XPATH = "//div[text()='DMS070_S001']"; String DISABLED_CONTINUE_BUTTON = "DMS070_S001_X140"; String FAKE_ID_PATH = "regression/ufo/ID-card_CZ_2012.jpg"; String FAKE_ZL = "regression/ufo/ZL.jpg"; + String FAKE_DP = "regression/ufo/DP.pdf"; String FAKE_REGISTER_ENTRY = "regression/ufo/vypis_RES.pdf"; String DOCUMENT_TYPE_OP = "Občanský průkaz"; String DOCUMENT_TYPE_ZL = "Dokument prokazující oprávnění k podnikání"; String DOCUMENT_TYPE_DP = "Daňové přiznání"; + String DOCUMENT_TYPE_BALANCE_SHEET = "Rozvaha"; + String DOCUMENT_TYPE_INCOME_MODULE = "Výkaz zisku a ztráty"; String DOCUMENT_TYPE_REGISTRY_ENTRY = "Elektronický výpis z ŽR"; String FILE_UPLOAD_INPUT = "gwt-FileUpload"; @@ -28,6 +32,7 @@ public interface DMS070_S001_ScanDocumentsPage extends WebFlow UPLOAD_DOCUMENT_BUTTON); endpoint.type(() -> FILE_UPLOAD_INPUT, path, false, Lookup.CLASSNAME); - endpoint.waitForElementsToLoad(80, FIRST_UPLOADED_DOCUMENT_RADIO); + endpoint.waitForElementsToLoad(80, Lookup.XPATH, UPLOADED_DOCUMENT_XPATH); return endpoint; } private void uploadAndAssignDocumentWithSelect(String documentPath, String documentType) { UfoEndpoint endpoint = uploadDocument(documentPath); - endpoint.waitForElementsToLoad(80, FIRST_UPLOADED_DOCUMENT_RADIO); endpoint.selectByVisibleText(DOCUMENT_TYPE, documentType); endpoint.sendKeysAsChord(Key.TAB); } @@ -52,6 +56,14 @@ public interface DMS070_S001_ScanDocumentsPage extends WebFlow String.format(DOCUMENT_TYPE_XPATH, documentType), Lookup.XPATH); endpoint.click(() -> ASSIGN_DOCUMENT_BUTTON); endpoint.waitForElementsToLoad(10, Lookup.CLASSNAME, Until.GONE, LOAD_IMG_DIV_CLASS); + endpoint.waitForElementsToLoad(10, Lookup.XPATH, Until.GONE, UPLOADED_DOCUMENT_XPATH); + } + + @CustomAction + default DMS070_S001_ScanDocumentsPage reloadPage() { + UfoEndpoint endpoint = this.getEndpoint(UfoEndpoint.class); + endpoint.refeshPage(); + return null; } @CustomAction @@ -62,7 +74,19 @@ public interface DMS070_S001_ScanDocumentsPage extends WebFlow FILE_UPLOAD_INPUT, path, false, Lookup.CLASSNAME); endpoint.waitForElementsToLoad(80, FIRST_UPLOADED_DOCUMENT_RADIO); + return endpoint; + } + + public static void uploadAndAssignDocument(String documentPath, String documentType, StoreAccessor harness) { + UfoEndpoint endpoint = uploadDocument(documentPath, documentType, harness); endpoint.selectByVisibleText(DOCUMENT_TYPE, documentType); endpoint.click(() -> ASSIGN_DOCUMENT_BUTTON); endpoint.waitForElementsToLoad(10, Lookup.CLASSNAME, Until.GONE, SharedElements.LOAD_IMG_DIV_CLASS); } + public static void uploadAndAssignDocumentByRadioButton(String documentPath, String documentType, StoreAccessor harness) { + UfoEndpoint endpoint = uploadDocument(documentPath, documentType, harness); + endpoint.click(() -> String.format(DOCUMENTS_TO_ASSIGN_TABLE_XPATH, documentType), Lookup.XPATH); + endpoint.click(() -> ASSIGN_LOADED_DOCUMENT_BUTTON); + endpoint.waitForElementsToLoad(10, Lookup.CLASSNAME, Until.GONE, SharedElements.LOAD_IMG_DIV_CLASS); + } + public static void uploadDocument(String documentPath, StoreAccessor harness) { String path = getResourcePath(documentPath); diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/tasks/IncomeModuleTasks.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/tasks/IncomeModuleTasks.java index b4e65fa..3fe0540 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/tasks/IncomeModuleTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/banka/tasks/IncomeModuleTasks.java @@ -14,10 +14,10 @@ public class IncomeModuleTasks { .openIncomeModule() .clickAddFinancialStatement() .then(fillTaxReturnDataFop(lastYear)) - .then(scanDocuments()) + .then(scanDocumentsFop()) .clickAddFinancialStatement() .then(fillTaxReturnDataFop(yearBeforeLast)) - .then(scanDocuments()) + .then(scanDocumentsFop()) .backToMainClientPage(); } @@ -25,9 +25,9 @@ public class IncomeModuleTasks { return start -> start .openIncomeModule() .then(fillTaxReturnDataPo(lastYear)) - .then(scanDocuments()) + .then(scanDocumentsPo()) .then(fillTaxReturnDataPo(yearBeforeLast)) - .then(scanDocuments()) + .then(scanDocumentsPo()) .backToMainClientPage(); } @@ -35,13 +35,13 @@ public class IncomeModuleTasks { return start -> start .clickAddFinancialStatement() .clickPaperFormForPo() - .clickDataBalanceSheetRadio() - .clickVerified() .fillIncomeDate(incomeDate) .onNewFinancialIncomePo() .then(fillAssets()) .then(fillLiabilities()) .then(fillProfitLossStatements()) + .clickVerified() + .clickTaxAdvisorNo() .clickContinue() .fillTaxToPay("0") .clickOnIncomeModuleLabel() @@ -114,11 +114,22 @@ public class IncomeModuleTasks { .continueToScanDocumentsPage(); } - public Function scanDocuments() { + public Function scanDocumentsFop() { return start -> start .uploadAndAssignFakeDP() .clickContinue() .onFinancialIncomeSummaryPage(); } + public Function scanDocumentsPo() { + return start -> start + .uploadAndAssignFakeDP() + .reloadPage() + .uploadAndAssignFakeBalanceSheet() + .reloadPage() + .uploadAndAssignFakeIncomeModule() + .clickContinue() + .onFinancialIncomeSummaryPage(); + } + } diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/cb/landing/AUT402_S001_KOCriteriaListPage.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/cb/landing/AUT402_S001_KOCriteriaListPage.java index 6f6598d..62deaf2 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/cb/landing/AUT402_S001_KOCriteriaListPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/cb/landing/AUT402_S001_KOCriteriaListPage.java @@ -10,9 +10,8 @@ import org.junit.jupiter.api.Assertions; import static cz.moneta.test.dsl.ufo.cb.landing.AUT402_S001_KOCriteriaListPage.PAGE_LABEL_DIV; import static cz.moneta.test.dsl.ufo.cb.landing.AUT402_S001_KOCriteriaListPage.LOADER_DIV; -import static cz.moneta.test.dsl.ufo.cb.landing.AUT402_S001_KOCriteriaListPage.NEXT_PAGE_BUTTON; -@Wait(value = {PAGE_LABEL_DIV, NEXT_PAGE_BUTTON}, waitSecondsForElement = 120, until = Until.VISIBLE) +@Wait(value = PAGE_LABEL_DIV, waitSecondsForElement = 120, until = Until.VISIBLE) @Wait(value = LOADER_DIV, until = Until.GONE) public interface AUT402_S001_KOCriteriaListPage extends WebFlow, StoreAccessor { diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/shared/topmenu/XXX702_SharedTopMenu.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/shared/topmenu/XXX702_SharedTopMenu.java index 046cd40..ea0e92d 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/shared/topmenu/XXX702_SharedTopMenu.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/shared/topmenu/XXX702_SharedTopMenu.java @@ -36,6 +36,9 @@ public interface XXX702_SharedTopMenu> extends XXX702_Share @Click(LOGOUT_BUTTON) LogOutPage clickLogout(); + @GetElementContent(ACTUAL_DATE_DIV) + String getActualDate(); + @Click(value = HOMEPAGE_BUTTON, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) OPS001_S001_ClientSearchPageUfoOperations clickHomePage(); diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/EXE705_S002_VerificationDataPage.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/EXE705_S002_VerificationDataPage.java index 7ddaa0a..3e0e053 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/EXE705_S002_VerificationDataPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/EXE705_S002_VerificationDataPage.java @@ -28,19 +28,19 @@ public interface EXE705_S002_VerificationDataPage extends WebFlow, StoreAccessor { +public interface TRA701_S001_Transactions extends WebFlow, XXX702_SharedTopMenu, StoreAccessor { String TITLE_OF_PAGE = "TRA701_S001_L001"; String STATEMENT_ARCHIVE = "TRA701_S001_R001_1"; @@ -28,11 +27,12 @@ public interface TRA701_S001_Transactions extends WebFlow, XXX701_SharedTopMenu, StoreAccessor { + + String TASK_ID_KEY = "TASK_ID"; + String CATEGORY_SELECT = "UKO720_S001_C047"; + String GENERATE_TASK_BUTTON = "UKO720_S001_B044"; + + @Select(value = CATEGORY_SELECT, selectByOrder = true, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) + UKO720_S001_QuickTaskPage selectTaskCategory(int index); + + @Click(value = GENERATE_TASK_BUTTON, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, until = Until.GONE, by = Lookup.CLASSNAME)) + UKO720_S001_QuickTaskPage generateQuickTask(); + + @CustomAction + default UKO720_S001_QuickTaskPage saveTaskID() { + UfoEndpoint endpoint = getEndpoint(UfoEndpoint.class); + String establishedTaskText = endpoint.getText(STATUS_LABEL).replaceAll(".*(T_\\d+) .*", "$1"); + store(TASK_ID_KEY, establishedTaskText); + return null; + } + +} \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskList.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskList.java index 1f173cc..38b29df 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskList.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskList.java @@ -31,6 +31,7 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX String TYPE_OF_VIEW_MENU = "UKO720_S001_C006"; String TASK_ID_INPUT = "UKO720_S001_E007"; String NEW_MAIN_TASK = "//button[contains(@title, 'UKO720_S001_I002')]"; + String NEW_QUICK_TASK = "//button[contains(@title, 'UKO720_S001_I015')]"; String ADMINISTRATIONS_XPATH = "//button[contains(@title, 'UKO720_S001_I004')]"; String DOUBLE_DART_BUTTON = "UKO720_S001_I001_innerTab"; String FIRST_TASK_DETAIL = "UKO720_S001_P001-1"; @@ -45,7 +46,7 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX String FIRST_NAME_OF_TASK = "UKO720_S001_L014-1"; String INCLUDING_LOCKED_CHECKBOX = "UKO720_S001_H004_1"; String FIRST_STATE_OF_TASK = "UKO720_S001_G002-0"; - String DEPARTMENT_FILTER_FIRST_NAME = "UKO720_S001_G001-0"; + String DEPARTMENT_FILTER_NAME_DYNAMIC = "UKO720_S001_G001-%s"; String FIRST_TYPE_OF_TASK = "UKO720_S001_G004-0"; String FILTER_BUTTON = "UKO720_S001_B011"; String SSO_SOLVER_SEARCH = "UKO720_S001_E005"; @@ -100,6 +101,9 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX @Click(value = NEW_MAIN_TASK, by = Lookup.XPATH, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) UKO720_S001_TaskPage clickNewMainTask(); + @Click(value = NEW_QUICK_TASK, by = Lookup.XPATH, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) + UKO720_S001_QuickTaskPage clickNewQuickTask(); + @Click(value = ADMINISTRATIONS_XPATH, by = Lookup.XPATH) UKO729_S001_AdministrationPage clickAdministration(); @@ -120,6 +124,9 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX @Click(DEPARTMENTS_CHECKBOX) UKO720_S001_TaskList clickDepartments(); + @Click(value = FILTER_BUTTON, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) + UKO720_S001_TaskList clickFilter(); + @Wait(value = FIND_BUTTON, until = Until.VISIBLE) @Click(value = FIND_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE)) UKO720_S001_TaskList clickFind(); @@ -200,9 +207,9 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX UKO720_S001_TaskList checkIncludingLockedCheckbox(); @CustomAction - default UKO720_S001_TaskList checkDataFiltering() { + default UKO720_S001_TaskList checkDataFiltering(String index) { UfoEndpoint endpoint = getEndpoint(UfoEndpoint.class); - endpoint.click(() -> DEPARTMENT_FILTER_FIRST_NAME); + endpoint.click(() -> String.format(DEPARTMENT_FILTER_NAME_DYNAMIC, index)); endpoint.waitForElementsToLoad(5, Until.CLICKABLE, FILTER_BUTTON); endpoint.click(() -> FILTER_BUTTON); endpoint.click(() -> FIRST_TYPE_OF_TASK); @@ -210,6 +217,9 @@ public interface UKO720_S001_TaskList extends WebFlow, XXX return null; } + @Click(value = DEPARTMENT_FILTER_NAME_DYNAMIC, isStringDynamicXpath = true) + UKO720_S001_TaskList clickDepartmentFilterNameDynamic(String index); + @CustomAction default UKO720_S001_TaskList checkSearchOptionsEnabled() { UfoEndpoint endpoint = getEndpoint(UfoEndpoint.class); diff --git a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskPage.java b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskPage.java index da4569c..493e20f 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskPage.java +++ b/tests/src/main/java/cz/moneta/test/dsl/ufo/operations/ufoOperations/UKO720_S001_TaskPage.java @@ -24,6 +24,7 @@ public interface UKO720_S001_TaskPage extends WebFlow, XXX String TASK_LIST_XPATH = "//button[contains(@title, 'UKO701_S001_I001 [UKO720_S001_I001]')]"; String CATEGORY_COMBOBOX = "UKO720_S001_C008"; String SUBCATEGORIES_COMBOBOX = "UKO720_S001_C022"; + String REPORTER_TEAM_COMBOBOX = "UKO720_S001_C018"; String BIRTH_NUMBER_IN_TASK = "UKO720_S001_E013"; String CLIENT_DETAIL_INFO_IMG = "UKO720_S001_P002"; String ID_OBJECT_IN_TASK_BUTTON = "UKO720_S001_E012"; @@ -191,6 +192,10 @@ public interface UKO720_S001_TaskPage extends WebFlow, XXX @Select(value = SUBCATEGORIES_COMBOBOX, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, until = Until.GONE, by = Lookup.CLASSNAME)) UKO720_S001_TaskPage selectSubcategories(String subcategories); + @Wait(value = REPORTER_TEAM_COMBOBOX, until = Until.VISIBLE) + @Select(value = REPORTER_TEAM_COMBOBOX, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, until = Until.GONE, by = Lookup.CLASSNAME)) + UKO720_S001_TaskPage selectReporterTeam(String reporterTeam); + @Wait(value = LOAD_IMG_DIV_CLASS, until = Until.GONE, by = Lookup.CLASSNAME) @Wait(value = ADD_NOTE_BUTTON, until = Until.CLICKABLE) @Click(ADD_NOTE_BUTTON) @@ -253,7 +258,7 @@ public interface UKO720_S001_TaskPage extends WebFlow, XXX @Click(ADD_ATTACHMENT_BUTTON) UKO720_S001_TaskPage clickAddAttachment(); - @TypeInto(value = FILE_UPLOAD_INPUT, by = Lookup.CLASSNAME, andWait = @Wait(value = FILE_TITLE_INPUT, until = Until.VISIBLE)) + @TypeInto(value = FILE_UPLOAD_INPUT, by = Lookup.CLASSNAME, andWait = @Wait(value = FILE_TITLE_INPUT, until = Until.VISIBLE, explicitWaitSeconds = 10)) UKO720_S001_TaskPage fillFileUpload(String file); @TypeInto(value = FILE_TITLE_INPUT, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE, explicitWaitSeconds = 3)) diff --git a/tests/src/main/java/cz/moneta/test/dsl/util/task/auto/smartauto/newcalculation/CalculationTypeTasks.java b/tests/src/main/java/cz/moneta/test/dsl/util/task/auto/smartauto/newcalculation/CalculationTypeTasks.java index cb0d701..3036057 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/util/task/auto/smartauto/newcalculation/CalculationTypeTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/util/task/auto/smartauto/newcalculation/CalculationTypeTasks.java @@ -201,8 +201,10 @@ public class CalculationTypeTasks { .chooseVehicleInsuranceVehicleFuelType(vehicleData.getFuel()) .clickVehicleInsuranceVehicleFilterSearch() .clickVehicleInsuranceVehicleType() - .clickVehicleInsuranceVehicleFuelTypeSecond() - .clickVehicleInsuranceInsuranceTab(); + .typeVehicleInsuranceVehicleVIN(vehicleData.getVin()) + .typeVehicleInsuranceVehiclePower(vehicleData.getPower()) + .typeVehicleInsuranceVehicleVolume(vehicleData.getVolume()) + .typeVehicleInsuranceVehicleNumberOfSeats(vehicleData.getNumberOfSeats()); } public Function fillInsuranceDataAgro(CalculationData vehicleData) { @@ -234,6 +236,11 @@ public class CalculationTypeTasks { .clickVehicleInsuranceInsuranceChoose() .waitForCalculationOutput(); } + public Function closeInsuranceModalNoInsurance() { + return start -> start + .clickVehicleInsuranceInsuranceClose() + .waitForCalculationOutput(); + } public Function addAccidentInsurance(AccidentInsurance accidentInsurance) { return start -> start diff --git a/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/OperationsTasks.java b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/OperationsTasks.java index 37ae3e4..2aa5504 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/OperationsTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/OperationsTasks.java @@ -85,4 +85,8 @@ public class OperationsTasks { public PrintTemplateTasks printTemplateTasks() { return new PrintTemplateTasks(harness); } + + public TransactionsTasks transactionsTasks() { + return new TransactionsTasks(harness); + } } \ No newline at end of file diff --git a/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TasksTasks.java b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TasksTasks.java index 82a4cd0..7ba55be 100644 --- a/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TasksTasks.java +++ b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TasksTasks.java @@ -111,10 +111,10 @@ public class TasksTasks { .closeSecondWindow(); } - public Function checkAttachmentUpload(String attachmentPath, String attachmentTitle) { + public Function checkAttachmentUpload(String documentType, String attachmentPath, String attachmentTitle) { return start -> start .clickAddAttachment() - .selectDocumentType("Bankovní informace") + .selectDocumentType(documentType) .fillFileUpload(attachmentPath) .fillFileTitle(attachmentTitle) .clickSaveAttachment() diff --git a/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TransactionsTasks.java b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TransactionsTasks.java new file mode 100644 index 0000000..5f7c624 --- /dev/null +++ b/tests/src/main/java/cz/moneta/test/dsl/util/task/ufo/operations/TransactionsTasks.java @@ -0,0 +1,31 @@ +package cz.moneta.test.dsl.util.task.ufo.operations; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.ufo.operations.ufoOperations.TRA701_S001_Transactions; + +import java.util.function.Function; + +public class TransactionsTasks { + + private final Harness harness; + + public TransactionsTasks(Harness harness) { + this.harness = harness; + } + + public Function findAndClickLastTransactionDetailAndCheckValue(String expectedValue) { + return start -> { + TRA701_S001_Transactions page = start; + if (!page.getLastRowTransactionDate().equals(page.getActualDate())) { + page.clickNext(); + } + return page.checkValueInTransactionTable(expectedValue) + .clickLastTransactionDetail(); + }; + } + + public Function comparePostingDateInTransactionDetail() { + return start -> + start.checkTransactionDetailPostingDate(start.getActualDate()); + } +} \ No newline at end of file diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/cardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/cardif1ContractData index cced510..d7b4c92 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/cardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/cardif1ContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/employeeContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/employeeContractData index 0318ddb..415501e 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/employeeContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/employeeContractData @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData index 1fe90fe..42a9f03 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData15M b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData15M index b44d66d..f15c295 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData15M +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/simpleContractData15M @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 25000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/threeClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/threeClientsContractData index 29c32ea..4d367f6 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/threeClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/threeClientsContractData @@ -104,7 +104,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif1ContractData index a76db53..3263f08 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif1ContractData @@ -70,7 +70,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif2ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif2ContractData index 82c4a75..e64e721 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif2ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsCardif2ContractData @@ -70,7 +70,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsContractData index f7b9b66..42b7d07 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/americanMortgage/twoClientsContractData @@ -72,7 +72,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/cardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/cardif1ContractData index 8bd4192..cf37de9 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/cardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/cardif1ContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/employeeContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/employeeContractData index d37c705..da9affe 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/employeeContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/employeeContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/oneTrancheContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/oneTrancheContractData index b2b2542..924d724 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/oneTrancheContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/oneTrancheContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData index 0615757..59196d0 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData15M b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData15M index 161d405..64c4bc7 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData15M +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractData15M @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 30000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractPepData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractPepData index d29f28d..5b7b690 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractPepData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/simpleContractPepData @@ -43,7 +43,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/skNationalityContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/skNationalityContractData index cb680ff..82500ec 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/skNationalityContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/skNationalityContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeClientsContractData index 4102699..695e870 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeClientsContractData @@ -122,7 +122,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeTranchesContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeTranchesContractData index 993f7cf..26cae98 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeTranchesContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/threeTranchesContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif1ContractData index cf18594..d73d9a2 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif1ContractData @@ -70,7 +70,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif2ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif2ContractData index 5639f04..d1e2084 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif2ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsCardif2ContractData @@ -70,7 +70,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsContractData index 4e15530..65ca730 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoClientsContractData @@ -72,7 +72,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoTranchesContractData b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoTranchesContractData index 5f97df5..da4cf26 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoTranchesContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/flexibleMortgage/twoTranchesContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/cardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/cardif1ContractData index 25a7384..62ee01b 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/cardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/cardif1ContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/employeeContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/employeeContractData index 501d108..a05b353 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/employeeContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/employeeContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/oneTrancheContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/oneTrancheContractData index cee0017..3a1fb2e 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/oneTrancheContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/oneTrancheContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData index 704bcac..9557484 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData15M b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData15M index 515c4cd..229d335 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData15M +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/simpleContractData15M @@ -38,7 +38,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 30000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeClientsContractData index ef68c60..e80d4fc 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeClientsContractData @@ -111,7 +111,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeTranchesContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeTranchesContractData index 8f10694..b5a89de 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeTranchesContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/threeTranchesContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif1ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif1ContractData index 5befd94..6f91d4c 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif1ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif1ContractData @@ -79,7 +79,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif2ContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif2ContractData index 576cf05..8ac5881 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif2ContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsCardif2ContractData @@ -79,7 +79,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsContractData index db84006..137e66d 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoClientsContractData @@ -81,7 +81,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoTranchesContractData b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoTranchesContractData index 81aaca5..0e9d2fc 100644 --- a/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoTranchesContractData +++ b/tests/src/main/resources/yamls/hypos/hyposContract/variableMortgage/twoTranchesContractData @@ -41,7 +41,7 @@ realty: flatNumber: "1" realtyType: "Byt v osobním vlastnictví" # RealtyType realtyPrice: 3000000 - contractRelation: "Zajištění = objekt úvěru" # ContranctRelation + contractRelation: "Zajištění = objekt úvěru" # ContractRelation collateralType: "Jednotka" # CollateralType pledgeType: "Nemovitosti - bydlení" # PledgeType appraiserCompany: "MONETA - supervize" # AppraiserCompany diff --git a/tests/src/test/java/cz/moneta/test/dataprepare/ml/hypos/CreateIbAtomPrepare.java b/tests/src/test/java/cz/moneta/test/dataprepare/ml/hypos/CreateIbAtomPrepare.java index 04a6c2b..73de7fd 100644 --- a/tests/src/test/java/cz/moneta/test/dataprepare/ml/hypos/CreateIbAtomPrepare.java +++ b/tests/src/test/java/cz/moneta/test/dataprepare/ml/hypos/CreateIbAtomPrepare.java @@ -59,6 +59,7 @@ public class CreateIbAtomPrepare { harness.tasks().hypos().hyposWso2Tasks().insertInternetBankLoginToCommunication( personDetails.get("CTR_CODE"), personDetails.get("PIN"), + personDetails.get("FULL_NAME"), clientIbLogin); } } \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ConfirmationOfAccountManagmentInUfoOps.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ConfirmationOfAccountManagmentInUfoOps.java index 92d45c4..80bf6b5 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ConfirmationOfAccountManagmentInUfoOps.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ConfirmationOfAccountManagmentInUfoOps.java @@ -43,10 +43,9 @@ public class ConfirmationOfAccountManagmentInUfoOps { .onClientDetailPage() .checkIfStatusBarIsOverwritten("Poplatek byl zaúčtován pod") .clickTransactions() - .checkValueInTransactionTable("300") - .clickDetailLastRowInTransactionTable() - .checkAvField("Poplatek za potvrzení") - .dateCompare() + .then(operationsTasks.transactionsTasks().findAndClickLastTransactionDetailAndCheckValue("300")) + .checkTransactionDetailAvField("Poplatek za potvrzení") + .then(operationsTasks.transactionsTasks().comparePostingDateInTransactionDetail()) .clickBack() .clickCorrespondence() .assertPrintName("Potvrzení o vedení účtu") @@ -77,10 +76,9 @@ public class ConfirmationOfAccountManagmentInUfoOps { .onClientDetailPage() .checkIfStatusBarIsOverwritten("Poplatek byl zaúčtován pod") .clickTransactions() - .checkValueInTransactionTable("300") - .clickDetailLastRowInTransactionTable() - .checkAvField("Poplatek za potvrzení") - .dateCompare() + .then(operationsTasks.transactionsTasks().findAndClickLastTransactionDetailAndCheckValue("300")) + .checkTransactionDetailAvField("Poplatek za potvrzení") + .then(operationsTasks.transactionsTasks().comparePostingDateInTransactionDetail()) .clickBack() .clickCorrespondence() .assertPrintName("Account maintenance confirmation") diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/TasklistTests.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/TasklistTests.java index 0cdc8dc..66b5757 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/TasklistTests.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/TasklistTests.java @@ -69,7 +69,11 @@ public class TasklistTests { .checkStatesOfTaskFilterValues(true, List.of(PROCESSED, PROCESSED_AUTHORIZED)) .clickExpandFilterArrow() .clickCollapseFilterArrow() - .checkDataFiltering() + .checkDataFiltering("0") + .clickFilter() + .clickDepartments() + .clickDepartmentFilterNameDynamic("2") + .clickFind() .storeFirstRecordTaskId() .clickRevitalization() .selectTypeOfView(TASK_SEARCH) @@ -84,7 +88,7 @@ public class TasklistTests { .checkStatesOfTaskFilterValues(true, List.of(NEW, ASSIGNED, CANCELED, RETURNED, IN_SOLVING, PROCESSED, PROCESSED_UNAUTHORIZED, PROCESSED_AUTHORIZED)) .clickExpandFilterArrow() .clickCollapseFilterArrow() - .checkDataFiltering() + .checkDataFiltering("0") .clickOpenTaskDetail() .checkUpdateBtn() .clickListOfTasks() diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ccretail/cczakladbanka/ActivitiesOnCard.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ccretail/cczakladbanka/ActivitiesOnCard.java index 4f671ae..f93775c 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ccretail/cczakladbanka/ActivitiesOnCard.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/callcenter/jenkinstests/ccretail/cczakladbanka/ActivitiesOnCard.java @@ -46,7 +46,7 @@ public class ActivitiesOnCard { .checkRcOfHolder(rcOfExistingClient) .clickAccountBlocking() .checkListOfBlockedFinancialResources() - .clickBackWhenOnBlocations() + .clickBack() .checkRcOfHolder(rcOfExistingClient); } } diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExeMessageSearch.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExeMessageSearch.java index d0d3937..b056142 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExeMessageSearch.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExeMessageSearch.java @@ -20,7 +20,7 @@ public class ApiExeMessageSearch { @JiraTestCase(id = "BOC-T8656") public void exeMessageSearch(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-message-search/v1") - .withPayloadFromFile("regression/exevido/exeMessage.json") + .withPayloadFromFile("regression/exevido/api/exeMessage.json") .post(); inputData = response.getPayload(); objectNode = response diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExevidoService.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExevidoService.java index 0f79b1e..4ef1043 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExevidoService.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiExevidoService.java @@ -26,7 +26,7 @@ public class ApiExevidoService { @JiraTestCase(id = "BOC-T8655") public void createMessageIncoming(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-message-incoming/v1") - .withPayloadFromFile("regression/exevido/incomeMessage.json") + .withPayloadFromFile("regression/exevido/api/incomeMessage.json") .addField("messageId", String.valueOf(RandomGenerator.getDefault().nextInt(100000000, 999999999))) .post(); inputData = response.getPayload(); diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiIsdsDataboxSearch.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiIsdsDataboxSearch.java index f5e4d97..efaac8f 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiIsdsDataboxSearch.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiIsdsDataboxSearch.java @@ -20,7 +20,7 @@ public class ApiIsdsDataboxSearch { @JiraTestCase(id = "BOC-T8657") public void messagePublicIsdsDataboxSearch(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-isds-search/v1") - .withPayloadFromFile("regression/exevido/isdsDataboxSearch.json") + .withPayloadFromFile("regression/exevido/api/isdsDataboxSearch.json") .post(); inputData = response.getPayload(); objectNode = response diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiMessageIdAttachments.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiMessageIdAttachments.java index 27f2ea5..f297861 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiMessageIdAttachments.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiMessageIdAttachments.java @@ -25,7 +25,7 @@ public class ApiMessageIdAttachments { @JiraTestCase(id = "BOC-T8655") public void createMessageIncoming(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-message-incoming/v1") - .withPayloadFromFile("regression/exevido/incomeMessage.json") + .withPayloadFromFile("regression/exevido/api/incomeMessage.json") .addField("messageId", String.valueOf(RandomGenerator.getDefault().nextInt(100000000, 999999999))) .post(); inputData = response.getPayload(); diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiOutgoingMessage.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiOutgoingMessage.java index 9a72576..63813e6 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiOutgoingMessage.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiOutgoingMessage.java @@ -22,7 +22,7 @@ public class ApiOutgoingMessage { @JiraTestCase(id = "BOC-T8658") public void messageOutgoing(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-message-outgoing/v1") - .withPayloadFromFile("regression/exevido/outgoingMessage.json") + .withPayloadFromFile("regression/exevido/api/outgoingMessage.json") .post(); inputData = response.getPayload(); objectNode = response diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiReturnMessageToCategorization.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiReturnMessageToCategorization.java index 6d41601..0f6425e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiReturnMessageToCategorization.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/api/ApiReturnMessageToCategorization.java @@ -26,7 +26,7 @@ public class ApiReturnMessageToCategorization { @JiraTestCase(id = "BOC-T8655") public void createMessageIncoming(Harness harness) { RawRestRequest.Response response = harness.tasks().wso2().restRequest().prepareRequestFromUfo("/t/backoffice.cluster/exe-message-incoming/v1") - .withPayloadFromFile("regression/exevido/incomeMessage.json") + .withPayloadFromFile("regression/exevido/api/incomeMessage.json") .addField("messageId", String.valueOf(RandomGenerator.getDefault().nextInt(100000000, 999999999))) .post(); inputData = response.getPayload(); diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/CreateTaskAndCheckInExevido.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/CreateTaskAndCheckInExevido.java new file mode 100644 index 0000000..c99a09f --- /dev/null +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/CreateTaskAndCheckInExevido.java @@ -0,0 +1,75 @@ +package cz.moneta.test.regression.backoffice.exevido.web.inheritance; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.util.credentials.Keys; +import cz.moneta.test.dsl.util.task.ufo.operations.OperationsTasks; +import cz.moneta.test.harness.annotations.JiraTestCase; +import cz.moneta.test.harness.annotations.TestCase; +import cz.moneta.test.harness.annotations.TestScenario; +import cz.moneta.test.harness.support.auth.Credentials; +import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; + +import static cz.moneta.test.dsl.ufo.banka.pages.fon.UploadUtil.getResourcePath; +import static cz.moneta.test.dsl.ufo.operations.ufoOperations.UKO720_S001_TaskList.TASK_ID_KEY; +import static cz.moneta.test.dsl.util.task.ufo.cb.CommercialTasks.JIRA_COMMENT_STORE_KEY; +import static cz.moneta.test.harness.annotations.Environment.PPE; +import static cz.moneta.test.harness.annotations.Environment.TST1; + +@TestScenario(name = "Create Task And Check In Exevido") +class CreateTaskAndCheckInExevido { + + private OperationsTasks operationsTasksTasks; + private String deathCertificateName; + private String deathCertificateAttachment; + private String birthNumber; + + @BeforeAll + protected void setUp(Harness harness) { + deathCertificateName = harness.getConfig("commercial.exevido.death-certificate-name"); + deathCertificateAttachment = harness.getConfig("commercial.exevido.death-certificate-attachment"); + birthNumber = harness.getConfig("commercial.exevido.birth-number"); + } + + @TestCase(name = "Resolution", environments = {PPE, TST1}) + @JiraTestCase(id = "BOC-T8965") + public void resolution(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentialsUfo, @Key(Keys.exevido.inheritance) Credentials credentialsExevido) { + operationsTasksTasks = harness.tasks().ufo().operations(); + String attachmentTitle = "Usnesení " + deathCertificateName; + String attachmentPath = getResourcePath(deathCertificateAttachment); + + harness.withUfo() + .openLoginPage() + .then(operationsTasksTasks.login().withCredentials(credentialsUfo)) + .clickTasks() + .clickNewMainTask() + .selectTaskCategory("Klient") + .selectSubcategories("Dědictví") + .selectTaskType("Usnesení") + .fillBirthNumberInTask(birthNumber) + .fillIdOmInTask("02122120") + .selectReporterTeam("OCS Dědictví") + .then(operationsTasksTasks.tasks().checkAttachmentUpload("Doklad o dědictví", attachmentPath, attachmentTitle)) + .fillDescription("usnesení") + .clickAssign() + .onTaskList() + .assertStatusLabel("Úkol byl korektně přiřazen!") + .saveTaskID(); + + harness.withExevido() + .openLoginPage() + .then(harness.tasks().exevidoTasks().login().withCredentialsToMmb(credentialsExevido)) + .clickAllIncomingMessages() + .searchByMessageId(harness.get(TASK_ID_KEY)) + .verifyIncomingMessageRowNotPresent(); + } + + @AfterEach + protected void tearDown(Harness harness) { + harness.store(JIRA_COMMENT_STORE_KEY, + "\nID Úkolu: " + harness.get(TASK_ID_KEY, true)); + + } + +} \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/ReassignDocument.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/ReassignDocument.java new file mode 100644 index 0000000..1cfbe4a --- /dev/null +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/inheritance/ReassignDocument.java @@ -0,0 +1,49 @@ +package cz.moneta.test.regression.backoffice.exevido.web.inheritance; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.util.credentials.Keys; +import cz.moneta.test.harness.annotations.JiraTestCase; +import cz.moneta.test.harness.annotations.TestCase; +import cz.moneta.test.harness.annotations.TestScenario; +import cz.moneta.test.harness.support.auth.Credentials; +import cz.moneta.test.harness.support.auth.Key; + +import static cz.moneta.test.dsl.exevido.pages.NewIncomingMessagePage.MESSAGE_ID_KEY; + +@TestScenario(name = "Reassign Document") +public class ReassignDocument { + + @TestCase(name = "Reassign Document") + @JiraTestCase(id = "BOC-T8950") + public void reassignDocument(Harness harness, @Key(Keys.exevido.inheritance) Credentials credentials) { + String subjectForReassignDocument = harness.getConfig("commercial.exevido.subject-for-reassign-document"); + String attachmentForReassignDocument = harness.getConfig("commercial.exevido.attachment-for-reassign-document"); + String internalReferenceNumberReassignDocument = harness.getConfig("commercial.exevido.internal-reference-number-for-reassign-document"); + String folderIssueNumber = harness.getConfig("commercial.exevido.folder-issue-number"); + + harness.withExevido() + .openLoginPage() + .then(harness.tasks().exevidoTasks().login().withCredentialsToMmb(credentials)) + .clickIncomingMessages() + .clickCreateNewIncomingMessage() + .fillSubject(subjectForReassignDocument) + .fillSender("Axis Ostrava") + .fillTypeMessage("D - Žádost [M] - MMB") + .uploadAttachment(attachmentForReassignDocument) + .clickSave() + .storeMessageId() + .clickInheritanceMmbForProcessing() + .clickRequestMmb() + .searchByMessageId(harness.get(MESSAGE_ID_KEY)) + .clickIncomingMessageRow(30) + .checkInternalReferenceNumber(internalReferenceNumberReassignDocument) + .clickInheritanceMmbFolders() + .fillProductOwnerName(subjectForReassignDocument) + .clickFolderRow() + .openMessageById(harness.get(MESSAGE_ID_KEY)) + .clickAddMessageFolder() + .fillFolderIssueNumber(folderIssueNumber) + .saveFolderIssueNumber() + .removeFolderIssueNumber(internalReferenceNumberReassignDocument); + } +} \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/mailroom/DelegatingAnIncomingMessage.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/mailroom/DelegatingAnIncomingMessage.java index 86a3b39..2d5650c 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/mailroom/DelegatingAnIncomingMessage.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/exevido/web/mailroom/DelegatingAnIncomingMessage.java @@ -27,7 +27,7 @@ public class DelegatingAnIncomingMessage { .fillSubject("Automat TEST - delegovaná") .fillSender("5nqh2a3 ") .fillTypeMessage("Obecná - MMB") - .fillAssigneeUserGroup("F00102") + .fillAssigneeUserGroup("800001 - IT") .uploadAttachment(ATTACHMENT_PATH) .clickSave() .acceptAlertIfVisible() @@ -36,7 +36,7 @@ public class DelegatingAnIncomingMessage { .clickAllIncomingMessages() .searchByMessageId(harness.get(MESSAGE_ID_KEY)) .clickIncomingMessageRow(30) - .fillAssignee("Simona Fošnárová") + .fillAssignee("Adres") .clickDelegate() .clickIncomingMessageRow(30) .checkWarning("Tato zpráva je zpracovávána jiným uživatelem. Zpráva je zpracovávána uživatelem"); diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CheckTaskDetail.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CheckTaskDetail.java index 8cba1b5..9880af1 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CheckTaskDetail.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CheckTaskDetail.java @@ -50,7 +50,7 @@ public class CheckTaskDetail { .clickAddNote() .fillNote("úkol založený automatem") .clickOkButton() - .then(operationsTasksTasks.tasks().checkAttachmentUpload(attachmentPath, attachmentTitle)) + .then(operationsTasksTasks.tasks().checkAttachmentUpload("Bankovní informace", attachmentPath, attachmentTitle)) .clickFirstAttachmentDetail() .waitForAttachmentDetail() .clickSolveTab() @@ -110,7 +110,7 @@ public class CheckTaskDetail { .fillTaskID(harness.get(TASK_ID_KEY)) .clickFind() .clickOpenTaskDetail() - .then(operationsTasksTasks.tasks().checkAttachmentUpload(attachmentPath, attachmentTitle)) + .then(operationsTasksTasks.tasks().checkAttachmentUpload("Bankovní informace", attachmentPath, attachmentTitle)) .fillIdTaskConnect(harness.get(SECOND_TASK_ID_KEY)) .clickFirstAttachment() .clickConnectTasks() @@ -131,11 +131,11 @@ public class CheckTaskDetail { } @AfterEach - protected void teardown(Harness harness) { - String secondtask = harness.get(SECOND_TASK_ID_KEY, true); + protected void tearDown(Harness harness) { + String secondTask = harness.get(SECOND_TASK_ID_KEY, true); harness.store(JIRA_COMMENT_STORE_KEY, "\nUFO Session ID: " + harness.get("reports.tmfj.execution.commentufosessionid", true) + "\nID Ukolu: " + harness.get(TASK_ID_KEY, true) + - ((secondtask != null) ? "\nID Ukolu2: " + secondtask : "")); + ((secondTask != null) ? "\nID Ukolu2: " + secondTask : "")); } -} +} \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/ConnectingTwoTasks.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/ConnectingTwoTasks.java index ebbef58..6f877f7 100644 --- a/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/ConnectingTwoTasks.java +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/ConnectingTwoTasks.java @@ -54,7 +54,7 @@ public class ConnectingTwoTasks { .fillTaskID(harness.get(TASK_ID_KEY)) .clickFind() .clickOpenTaskDetail() - .then(operationsTasksTasks.tasks().checkAttachmentUpload(attachmentPath, attachmentTitle)) + .then(operationsTasksTasks.tasks().checkAttachmentUpload("Bankovní informace", attachmentPath, attachmentTitle)) .fillIdTaskConnect(harness.get(SECOND_TASK_ID_KEY)) .clickFirstAttachment() .clickConnectTasks() @@ -66,12 +66,11 @@ public class ConnectingTwoTasks { } @AfterEach - protected void teardown(Harness harness) { + protected void tearDown(Harness harness) { harness.store(JIRA_COMMENT_STORE_KEY, "\nUFO Session ID: " + harness.get("reports.tmfj.execution.commentufosessionid", true) + "\nID Úkolu 1: " + harness.get(TASK_ID_KEY, true) + "\nID Úkolu 2: " + harness.get(SECOND_TASK_ID_KEY, true)); } - } \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CreateQuickTask.java b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CreateQuickTask.java new file mode 100644 index 0000000..c408837 --- /dev/null +++ b/tests/src/test/java/cz/moneta/test/regression/backoffice/ufooperations/jenkinstests/CreateQuickTask.java @@ -0,0 +1,43 @@ +package cz.moneta.test.regression.backoffice.ufooperations.jenkinstests; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.util.credentials.Keys; +import cz.moneta.test.dsl.util.task.ufo.operations.OperationsTasks; +import cz.moneta.test.harness.annotations.JiraTestCase; +import cz.moneta.test.harness.annotations.TestCase; +import cz.moneta.test.harness.annotations.TestScenario; +import cz.moneta.test.harness.support.auth.Credentials; +import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.AfterEach; + +import static cz.moneta.test.dsl.ufo.operations.ufoOperations.UKO720_S001_QuickTaskPage.TASK_ID_KEY; +import static cz.moneta.test.dsl.util.task.ufo.cb.CommercialTasks.JIRA_COMMENT_STORE_KEY; +import static cz.moneta.test.harness.annotations.Environment.PPE; +import static cz.moneta.test.harness.annotations.Environment.TST1; + +@TestScenario(name = "Create Quick Task") +public class CreateQuickTask { + + @TestCase(name = "Create Quick Task", environments = {PPE, TST1}) + @JiraTestCase(id = "BOC-T9059") + public void createQuickTask(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { + OperationsTasks operationsTasksTasks = harness.tasks().ufo().operations(); + + harness.withUfo() + .openLoginPage() + .then(operationsTasksTasks.login().withCredentials(credentials)) + .clickTasks() + .clickNewQuickTask() + .selectTaskCategory(2) + .generateQuickTask() + .saveTaskID(); + } + + @AfterEach + protected void tearDown(Harness harness) { + harness.store(JIRA_COMMENT_STORE_KEY, + "\nUFO Session ID: " + harness.get("reports.tmfj.execution.commentufosessionid", true) + + "\nID Úkolu: " + harness.get(TASK_ID_KEY, true)); + } + +} \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CardsIbOnboarding.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CardsIbOnboarding.java index ef5aacb..ec9bd01 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CardsIbOnboarding.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CardsIbOnboarding.java @@ -6,6 +6,7 @@ import cz.moneta.test.dsl.util.credentials.Keys; import cz.moneta.test.dsl.util.data.client.NewClientWithCurrentAccountInformation; import cz.moneta.test.dsl.util.task.retail.cards.constants.CreditCardSQL; import cz.moneta.test.harness.annotations.EnableIfSet; +import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.endpoints.ods.OdsEndpoint; @@ -38,17 +39,24 @@ public class CardsIbOnboarding { @TestCase(name = "Set up clients", environments = {TST1, PPE}) public void setup(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { clientBirthNumber = createNewClientWithAccountAndIB(harness, credentials); + NewIbTasks newIbTasks = harness.tasks().newIb(); - clientCredentials = harness.tasks() + clientCredentials = harness.tasks() .udebs() .findCredentialsByRC(clientBirthNumber); + harness.withNewIb(). + openLoginPage() + .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) + .then(newIbTasks.newClientSetupCards()); + harness.storeGlobal("IB_CARDS_SETUP", true); } @Order(2) @EnableIfSet(globalKey = "IB_CARDS_SETUP") @TestCase(name = "Set up clients", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T10895") public void onboardPlasticCardInIB(Harness harness) { NewIbTasks newIbTasks = harness.tasks().newIb(); harness.withNewIb(). @@ -65,6 +73,7 @@ public class CardsIbOnboarding { @Order(3) @EnableIfSet(globalKey = "IB_CARDS_SETUP") @TestCase(name = "Set up clients", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12502") public void onboardVirtualCardInIB(Harness harness) { NewIbTasks newIbTasks = harness.tasks().newIb(); harness.withNewIb(). @@ -82,6 +91,7 @@ public class CardsIbOnboarding { @EnableIfSet(globalKey = "IB_CARDS_PLASTIC") @EnableIfSet(globalKey = "IB_CARDS_VIRTUAL") @TestCase(name = "Set up clients", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11138") public void checkMaxCardOnboarded(Harness harness) { NewIbTasks newIbTasks = harness.tasks().newIb(); harness.withNewIb(). @@ -93,6 +103,7 @@ public class CardsIbOnboarding { @Order(5) @EnableIfSet(globalKey = "IB_CARDS_PLASTIC") @TestCase(name = "Set up clients", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12329") public void cancelDebitCard(Harness harness) { testCardForJira = harness.getGlobal("IB_CARDS_PLASTIC"); String testCardLastNumbers = StringUtils.right(testCardForJira, 4); diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChangeDccSettingOnCards.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChangeDccSettingOnCards.java index df77669..0e55464 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChangeDccSettingOnCards.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChangeDccSettingOnCards.java @@ -4,6 +4,7 @@ import cz.moneta.test.dsl.Harness; import cz.moneta.test.dsl.ufo.banka.tasks.BankaTasks; import cz.moneta.test.dsl.util.credentials.Keys; import cz.moneta.test.dsl.util.data.client.NonClient; +import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; @@ -70,41 +71,49 @@ public class ChangeDccSettingOnCards { } @TestCase(name = "Change DCC Transactions Setting For Retail Standard Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11030") public void changeDccForStandardRetailDC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForStandardDebitCard(harness, credentials, harness.getConfig("cards_team.retail.rc"), harness.getConfig("cards_team.retail.standard.DC")); } @TestCase(name = "Change DCC Transactions Setting For Retail Gold Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11031") public void changeDccForGoldRetailDC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForStandardDebitCard(harness, credentials, harness.getConfig("cards_team.retail.rc"), harness.getConfig("cards_team.retail.gold.DC")); } @TestCase(name = "Change DCC Transactions Setting for Retail Smart Credit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11035") public void changeDccForRetailSmartCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForRetailCreditCard(harness, credentials, harness.getConfig("cards_team.retail.rc2"), harness.getConfig("cards_team.retail.smart.CC")); } @TestCase(name = "Change DCC Transactions Setting for Retail Gold Credit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11036") public void changeDccForRetailGoldCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForRetailCreditCard(harness, credentials, harness.getConfig("cards_team.retail.rc5"), harness.getConfig("cards_team.retail.gold.CC")); } @TestCase(name = "Change DCC Transactions Setting for Retail Account Credit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11037") public void changeDccForRetailAccountCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForRetailCreditCard(harness, credentials, harness.getConfig("cards_team.retail.rc4"), harness.getConfig("cards_team.retail.account.CC")); } @TestCase(name = "Change DCC Transactions Setting for commercial DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11066") public void changeDccForCommercialDC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForCommercialDebitCard(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.DC")); } @TestCase(name = "Change DCC Transactions Setting for commercial premium DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11067") public void changeDccForCommercialPremiumDC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { changeDccForCommercialDebitCard(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.premium.DC")); } @TestCase(name = "Change DCC Transactions Setting for MBC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11070") public void changeDccForMBC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { NonClient nonClient = harness.data().newFVNonClient() .withIco(harness.getConfig("cards_team.commercial.ico.with.cards")); @@ -123,6 +132,7 @@ public class ChangeDccSettingOnCards { } @TestCase(name = "Change DCC Transactions Setting for Child Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T11034") public void changeDccForChildCard(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { NonClient nonClient = harness.data().newFVNonClient() .withBirthNumber(harness.getConfig("cards_team.child.rc")); diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChildCardsOnboarding.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChildCardsOnboarding.java index c449760..90b9cad 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChildCardsOnboarding.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/ChildCardsOnboarding.java @@ -6,6 +6,7 @@ import cz.moneta.test.dsl.ufo.banka.tasks.cards.CardsServicingTasks; import cz.moneta.test.dsl.util.BankaUtils; import cz.moneta.test.dsl.util.credentials.Keys; import cz.moneta.test.dsl.util.data.client.NonClient; +import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenarioWithOrder; import cz.moneta.test.harness.support.auth.Credentials; @@ -33,6 +34,7 @@ public class ChildCardsOnboarding { } @TestCase(name = "Create New Child Client With Cards", environments = {PPE}) + @JiraTestCase(id = "CT-T5418") @Order(1) public void setUpFopCifForCardOnboarding(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { harness.withUfo() diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CommercialCardsOnboarding.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CommercialCardsOnboarding.java index 9daabb8..c9da9c2 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CommercialCardsOnboarding.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/CommercialCardsOnboarding.java @@ -8,6 +8,7 @@ import cz.moneta.test.dsl.util.BankaUtils; import cz.moneta.test.dsl.util.credentials.Keys; import cz.moneta.test.dsl.util.data.client.NonClient; import cz.moneta.test.harness.annotations.EnableIfSet; +import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenarioWithOrder; import cz.moneta.test.harness.support.auth.Credentials; @@ -51,6 +52,7 @@ public class CommercialCardsOnboarding { @EnableIfSet(globalKey = "CIF_FOP_CARD_ONBOARDING") @TestCase(name = "Create Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T100") @Order(2) public void createDebitCardForFop(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { @@ -65,6 +67,7 @@ public class CommercialCardsOnboarding { @EnableIfSet(globalKey = "FIRST_CARD_ONBOARDED") @TestCase(name = "Create second Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T196") @Order(3) public void createSecondDebitCardForFop(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { @@ -79,6 +82,7 @@ public class CommercialCardsOnboarding { @EnableIfSet(globalKey = "FIRST_CARD_ONBOARDED") @TestCase(name = "Create EUR Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12517") @Order(3) public void createEurDebitCardForFop(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { harness.withUfo() @@ -91,6 +95,7 @@ public class CommercialCardsOnboarding { @EnableIfSet(globalKey = "FIRST_CARD_ONBOARDED") @TestCase(name = "Create USD Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12518") @Order(4) public void createUSDDebitCardForFop(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { harness.withUfo() diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/GeneratePinForCard.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/GeneratePinForCard.java index 5d3763e..5b6be57 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/GeneratePinForCard.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/GeneratePinForCard.java @@ -101,41 +101,49 @@ public class GeneratePinForCard { } @TestCase(name = "Generate Pin for retail smart CC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T329") public void generatePinForSmartCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForRetailCreditCards(harness, credentials, harness.getConfig("cards_team.retail.rc2"), harness.getConfig("cards_team.retail.smart.CC")); } @TestCase(name = "Generate Pin for retail gold CC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12504") public void generatePinForGoldCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForRetailCreditCards(harness, credentials, harness.getConfig("cards_team.retail.rc5"), harness.getConfig("cards_team.retail.gold.CC")); } @TestCase(name = "Generate Pin for retail credit account CC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12503") public void generatePinForCreditAccountCC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForRetailCreditCards(harness, credentials, harness.getConfig("cards_team.retail.rc4"), harness.getConfig("cards_team.retail.account.CC")); } @TestCase(name = "Generate PIN for commercial DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12505") public void generatePinForCommercialDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForCommercialDebitCards(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.DC")); } @TestCase(name = "Generate PIN for commercial premium DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12510") public void generatePinForCommercialPremiumDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForCommercialDebitCards(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.premium.DC")); } @TestCase(name = "Generate PIN for commercial eur DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12508") public void generatePinForCommercialEurDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForCommercialDebitCards(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.EUR")); } @TestCase(name = "Generate PIN for commercial usd DC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12507") public void generatePinForCommercialUsdDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { generatePinForCommercialDebitCards(harness, credentials, harness.getConfig("cards_team.commercial.ico.with.cards"), harness.getConfig("cards_team.commercial.USD")); } @TestCase(name = "Generate PIN for MBC", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12509") public void generatePinForMBC(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { NonClient nonClient = harness.data().newFVNonClient() .withIco(harness.getConfig("cards_team.commercial.ico.with.cards")); @@ -153,6 +161,7 @@ public class GeneratePinForCard { } @TestCase(name = "Generate PIN for Child Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12506") public void generatePinForChildCard(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { NonClient nonClient = harness.data().newFVNonClient() .withBirthNumber(harness.getConfig("cards_team.child.rc")); diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndDebitCardsOnboarding.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndDebitCardsOnboarding.java index dbc9d5f..e04f48f 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndDebitCardsOnboarding.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndDebitCardsOnboarding.java @@ -138,6 +138,7 @@ public class NewRetailCifAndDebitCardsOnboarding { @Order(6) @EnableIfSet(globalKey = "SET_UP_OK") @TestCase(name = "Gold plastic debit card for existing Tom PLUS account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12512") public void goldPlasticDCForTomPlus(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { BankaTasks bankaTasks = harness.tasks().ufo().banka(); harness.withUfo() @@ -235,6 +236,7 @@ public class NewRetailCifAndDebitCardsOnboarding { @Order(13) @EnableIfSet(globalKey = "SET_UP_OK") @TestCase(name = "EUR debit card for existing EUR account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12511") public void eurPlasticDCForEurAccount(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { BankaTasks bankaTasks = harness.tasks().ufo().banka(); harness.withUfo() @@ -252,6 +254,7 @@ public class NewRetailCifAndDebitCardsOnboarding { @Order(14) @EnableIfSet(globalKey = "SET_UP_OK") @TestCase(name = "USD debit card for existing USD account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T197") public void usdPlasticDCForUsdAccount(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { BankaTasks bankaTasks = harness.tasks().ufo().banka(); harness.withUfo() @@ -269,6 +272,7 @@ public class NewRetailCifAndDebitCardsOnboarding { @Order(15) @EnableIfSet(globalKey = "EUR_DC") @TestCase(name = "Activate Eur Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12513") public void activationEurDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { activateDebitCard(harness, credentials, harness.getGlobal("EUR_DC")); } @@ -276,6 +280,7 @@ public class NewRetailCifAndDebitCardsOnboarding { @Order(16) @EnableIfSet(globalKey = "USD_DC") @TestCase(name = "Activate Usd Debit Card", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T12514") public void activationStandardUsdDc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { activateDebitCard(harness, credentials, harness.getGlobal("USD_DC")); } diff --git a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndOneClickAndVirtualCardsOnboarding.java b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndOneClickAndVirtualCardsOnboarding.java index 6eb27f7..35334d9 100644 --- a/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndOneClickAndVirtualCardsOnboarding.java +++ b/tests/src/test/java/cz/moneta/test/regression/cards/jenkinstests/NewRetailCifAndOneClickAndVirtualCardsOnboarding.java @@ -80,6 +80,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(2) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard plastic debit card for new client through ONECLICK", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T907") public void OneClickCard(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { BankaTasks bankaTasks = harness.tasks().ufo().banka(); harness.withUfo() @@ -92,6 +93,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(3) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T10799") public void DcVirtualSwimming(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.SWIMMING.getValue()); } @@ -99,6 +101,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(4) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T10800") public void DcVirtualCycling(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.CYCLING.getValue()); } @@ -106,6 +109,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(5) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T10801") public void DcVirtualTennis(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.TENNIS.getValue()); } @@ -113,6 +117,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(6) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T10802") public void DcVirtualBeach(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.BEACH.getValue()); } @@ -120,6 +125,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(7) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9771") public void DcVirtualPrague(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.PRAGUE.getValue()); } @@ -127,6 +133,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(8) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9774") public void DcVirtualCentralBohemia(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.CENTRAL_BOHEMIAN_REGION.getValue()); } @@ -134,6 +141,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(9) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9760") public void DcVirtualSouthBohemia(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.SOUTH_BOHEMIAN_REGION.getValue()); } @@ -141,6 +149,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(10) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9770") public void DcVirtualPlzen(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.PLZEN.getValue()); } @@ -148,6 +157,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(11) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9762") public void DcVirtualKarlovyVary(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.KARLOVY_VARY.getValue()); } @@ -155,6 +165,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(12) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9775") public void DcVirtualUsti(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.USTI.getValue()); } @@ -162,6 +173,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(13) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9765") public void DcVirtualLiberec(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.LIBEREC.getValue()); } @@ -169,6 +181,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(14) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9764") public void DcVirtualHradec(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.HRADEC.getValue()); } @@ -176,6 +189,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(15) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9769") public void DcVirtualPardubice(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.PARDUBICE.getValue()); } @@ -183,6 +197,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(16) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9763") public void DcVirtualVysocina(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.VYSOCINA.getValue()); } @@ -190,6 +205,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(17) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9761") public void DcVirtualSouthMoravia(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.SOUTH_MORAVIA_REGION.getValue()); } @@ -197,6 +213,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(18) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9776") public void DcVirtualZlin(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.ZLIN.getValue()); } @@ -204,6 +221,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(19) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9768") public void DcVirtualOlomouc(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.OLOMOUC.getValue()); } @@ -211,6 +229,7 @@ public class NewRetailCifAndOneClickAndVirtualCardsOnboarding { @Order(20) @EnableIfSet(globalKey = "CLIENT_OK") @TestCase(name = "Standard virtual debit card and new account", environments = {TST1, PPE}) + @JiraTestCase(id = "CT-T9767") public void DcVirtualMoraviaSilesian(Harness harness, @Key(Keys.ufo.banka.banker) Credentials credentials) { createAccountAndVirtualCard(harness, credentials, CardTypeAndDesign.MORAVIAN_SILESIAN_REGION.getValue()); } diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messages/MessagesTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/DocumentsTest.java similarity index 78% rename from tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messages/MessagesTest.java rename to tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/DocumentsTest.java index 6d5c6ca..65848aa 100644 --- a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messages/MessagesTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/DocumentsTest.java @@ -1,4 +1,4 @@ -package cz.moneta.test.regression.channels.digital.ib.newib.messages; +package cz.moneta.test.regression.channels.digital.ib.newib.messagesAndDocuments; import cz.moneta.test.dsl.Harness; import cz.moneta.test.dsl.newib.tasks.NewIbTasks; @@ -10,8 +10,9 @@ import cz.moneta.test.harness.support.auth.Credentials; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Order; -@TestScenarioWithOrder(name = "Messages tests") -public class MessagesTest { +@TestScenarioWithOrder(name = "Documents Tests") +public class DocumentsTest { + Credentials clientCredentials; String clientId; @@ -29,13 +30,13 @@ public class MessagesTest { } @Order(1) - @TestCase(name = "Messages - received messages", environments = {Environment.TST1, Environment.PPE}) - @JiraTestCase(id = "SB-T9178") - public void receivedMessagesTest(Harness harness) { + @TestCase(name = "Documents - Overview", environments = {Environment.TST1, Environment.PPE}) + @JiraTestCase(id = "SB-T9181") + public void documentsOverviewTest(Harness harness) { NewIbTasks newIbTasks = harness.tasks().newIb(); harness.withNewIb() .openLoginPage() .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) - .then(newIbTasks.receivedMessagesTest()); + .then(newIbTasks.documentsOverviewTest()); } } \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/MessagesTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/MessagesTest.java new file mode 100644 index 0000000..9319ddc --- /dev/null +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/messagesAndDocuments/MessagesTest.java @@ -0,0 +1,62 @@ +package cz.moneta.test.regression.channels.digital.ib.newib.messagesAndDocuments; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.dsl.newib.tasks.NewIbTasks; +import cz.moneta.test.harness.annotations.Environment; +import cz.moneta.test.harness.annotations.JiraTestCase; +import cz.moneta.test.harness.annotations.TestCase; +import cz.moneta.test.harness.annotations.TestScenarioWithOrder; +import cz.moneta.test.harness.support.auth.Credentials; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Order; + +@TestScenarioWithOrder(name = "Messages tests") +public class MessagesTest { + Credentials clientCredentials; + String clientId; + + @BeforeAll + public void getCredentials(Harness harness) { + String clientBirthNumber = harness.getConfig("nib.rc.messages"); + + clientCredentials = harness.tasks() + .udebs() + .findCredentialsByRC(clientBirthNumber); + + clientId = harness.withUdebs() + .usersTable() + .getClientId(clientBirthNumber); + } + + @Order(1) + @TestCase(name = "Messages - received messages", environments = {Environment.TST1, Environment.PPE}) + @JiraTestCase(id = "SB-T9178") + public void receivedMessagesTest(Harness harness) { + NewIbTasks newIbTasks = harness.tasks().newIb(); + harness.withNewIb() + .openLoginPage() + .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) + .then(newIbTasks.receivedMessagesTest()); + } + + @Order(2) + @TestCase(name = "Messages - sending a message to the bank", environments = {Environment.TST1, Environment.PPE}) + @JiraTestCase(id = "SB-T9177") + public void sendingMessageToTheBankTest(Harness harness) { + String lastMessageSubject = "Last Message Subject"; + + NewIbTasks newIbTasks = harness.tasks().newIb(); + harness.withNewIb() + .openLoginPage() + .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) + .then(newIbTasks.sendingAmessageToTheBankTest(lastMessageSubject)); + + String messageSubject = harness.withUdebs() + .messageMovements() + .getLastMessageMovement(10, clientId, lastMessageSubject); + + Assertions.assertEquals(lastMessageSubject, messageSubject); + harness.log("Generated message is:" + lastMessageSubject + " and message in UDEBS is: " + messageSubject); + } +} \ No newline at end of file diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fon/DomesticPaymentOrderTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fon/DomesticPaymentOrderTest.java index 9acffc4..62d50c6 100644 --- a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fon/DomesticPaymentOrderTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fon/DomesticPaymentOrderTest.java @@ -9,12 +9,10 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenarioWithOrder; import cz.moneta.test.harness.support.auth.Credentials; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.*; import java.text.DecimalFormat; +import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.concurrent.ThreadLocalRandom; @@ -90,6 +88,9 @@ public class DomesticPaymentOrderTest { formData.setDateOfPayment(DateUtils.getFormattedTodayDate("d. M. yyyy")); formData.setTypeOfPayment("Prioritní"); + Assumptions.assumeTrue(LocalTime.now().isBefore(LocalTime.of(14, 0)), + "Skipped: Priority payments are processed only until 14:00."); + harness.withNewIb() .openLoginPage() .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) @@ -209,7 +210,7 @@ public class DomesticPaymentOrderTest { @Order(6) @TestCase(name = "Domestic payment order – standard – future due date cancel", environments = {Environment.TST1, Environment.PPE}) @JiraTestCase(id = "SB-T9191") - public void DomesticPaymentOrderStandardFutureDueDateCancel(Harness harness) { + public void domesticPaymentOrderStandardFutureDueDateCancel(Harness harness) { NewIbTasks newIbTasks = harness.tasks().newIb(); formData.setAmount(generatedPaymentString); formData.setTypeOfPayment("Standardní"); diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fop/DomesticPaymentOrderFopTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fop/DomesticPaymentOrderFopTest.java index 9f96062..589bc1e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fop/DomesticPaymentOrderFopTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ib/newib/payment/fop/DomesticPaymentOrderFopTest.java @@ -9,12 +9,10 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenarioWithOrder; import cz.moneta.test.harness.support.auth.Credentials; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.*; import java.text.DecimalFormat; +import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.concurrent.ThreadLocalRandom; @@ -79,6 +77,9 @@ public class DomesticPaymentOrderFopTest { formData.setDateOfPayment(DateUtils.getFormattedTodayDate("d. M. yyyy")); formData.setTypeOfPayment("Prioritní"); + Assumptions.assumeTrue(LocalTime.now().isBefore(LocalTime.of(14, 0)), + "Skipped: Priority payments are processed only until 14:00."); + harness.withNewIb() .openLoginPage() .then(newIbTasks.loginWithUsernamePasswordAndDefaultMobKey(clientCredentials.getUsername(), clientCredentials.getPassword())) diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/CadasterTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/CadasterTest.java index 27b812a..c2e1f9e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/CadasterTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/CadasterTest.java @@ -23,7 +23,7 @@ public class CadasterTest { .openLoginPage() .switchToCadasterPage() .clickCadasterRequestPage() - .selectFilterType(CadasterRequestType.OWNER_LIST.getValue()) + .selectFilterType(CadasterRequestType.OWNER_LIST) .clickSearchButton() .clickRedocDetail() .checkCadasterRequest(); diff --git a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/RiskTest.java b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/RiskTest.java index e8c18b4..dcd01b9 100644 --- a/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/RiskTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/channels/digital/ml/hypos/RiskTest.java @@ -228,7 +228,7 @@ public class RiskTest { .realtyPriceCurrent(3500000) .realtyType(RealtyType.FLAT.getValue()) .pledgeType(PledgeType.PROPERTY_HOUSING.getValue()) - .contractRelation(ContranctRelation.PLEDGE_WITH_CURRENT_REALTY.getValue()) + .contractRelation(ContractRelation.PLEDGE_WITH_CURRENT_REALTY.getValue()) .collateralType(CollateralType.FLAT.getValue()) .appraiserCompany(AppraiserCompany.MONETA_SUPERVISION.getValue()) .build(); diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/autoapi/codebooks/TokenTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/autoapi/codebooks/TokenTest.java index f663cf8..0d8dcbd 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/autoapi/codebooks/TokenTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/autoapi/codebooks/TokenTest.java @@ -7,9 +7,11 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.dsl.util.credentials.Keys.smart; +@Disabled @TestScenario(name = "Sending REST request to get authentication TOKEN") public class TokenTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/AgroTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/AgroTest.java index 9916d42..93b815b 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/AgroTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/AgroTest.java @@ -10,7 +10,8 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.*; - +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successfully filled agro.") public class AgroTest extends InsuranceAndBenefitData { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroTPTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroTPTest.java index 6fa939f..4c8debc 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroTPTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroTPTest.java @@ -11,7 +11,9 @@ import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.AgroMock; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for Agro.") public class CalculationAgroTPTest extends AbstractTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroWithoutTPTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroWithoutTPTest.java index 446c3d8..286a645 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroWithoutTPTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationAgroWithoutTPTest.java @@ -10,7 +10,9 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.*; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for Agro.") public class CalculationAgroWithoutTPTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCarTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCarTest.java index 4b8253b..0d30395 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCarTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCarTest.java @@ -4,7 +4,9 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.CarMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for car.") public class CalculationCarTest extends AbstractTest { @JiraTestCase(id = "LAMD-T981") diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCaravanTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCaravanTest.java index 05e802c..b769a70 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCaravanTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationCaravanTest.java @@ -4,7 +4,9 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.CaravanMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for caravan.") public class CalculationCaravanTest extends AbstractTest { @JiraTestCase(id = "LAMD-T970") diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationMotorcycleTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationMotorcycleTest.java index 43186db..92c1226 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationMotorcycleTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationMotorcycleTest.java @@ -4,7 +4,9 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.MotorcycleMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for motorcycle.") public class CalculationMotorcycleTest extends AbstractTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationTrailerTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationTrailerTest.java index 349b806..15d994e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationTrailerTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CalculationTrailerTest.java @@ -4,7 +4,9 @@ import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.TrailerMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled new calculation for trailer.") public class CalculationTrailerTest extends AbstractTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ChangePasswordTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ChangePasswordTest.java index 242c0a2..76ed12e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ChangePasswordTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ChangePasswordTest.java @@ -8,7 +8,9 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Change password") public class ChangePasswordTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CompleteApplicationTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CompleteApplicationTest.java index bf87177..8ec750b 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CompleteApplicationTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CompleteApplicationTest.java @@ -12,12 +12,14 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; import java.util.function.Function; @TestScenario(name = "Successful created complete application.") public class CompleteApplicationTest { + @Disabled @JiraTestCase(id = "LAMD-T967") @TestCase(name = "Customer: businessman, Commodity: car, Product: C2C") public void tcCompleteApplicationBusinessmanCar(Harness harness, @Key(smart.auto.general) Credentials credentials) { @@ -51,6 +53,7 @@ public class CompleteApplicationTest { .then(smartAutoTasks.application().sendApplication()); } + @Disabled @JiraTestCase(id = "LAMD-T968") @TestCase(name = "Customer: consumer, Commodity: motorcycle, Product: Standard") public void tcCompleteApplicationConsumerMotorcycle(Harness harness, @Key(smart.auto.general) Credentials credentials) { @@ -111,7 +114,7 @@ public class CompleteApplicationTest { .then(smartAutoTasks.calculationType().makeCalculationWithRegistrationDate(calculationData)) .then(smartAutoTasks.insuranceTasks().fillCustomerData(calculationData, smartAutoTasks, companyData)) .then(smartAutoTasks.insuranceTasks().fillInsuranceData(calculationData, smartAutoTasks)) - .then(smartAutoTasks.calculationType().closeInsuranceModal()) + .then(smartAutoTasks.calculationType().closeInsuranceModalNoInsurance()) .then(smartAutoTasks.verification().checkNewCalculation()) .clickCreateApplication() .then(smartAutoTasks.contact().fillBusinessmanInformation(companyData)) @@ -131,7 +134,7 @@ public class CompleteApplicationTest { @TestCase(name = "Customer: consumer, Commodity: trailer, Product: C2C") public void tcCompleteApplicationConsumerTrailer(Harness harness, @Key(smart.auto.general) Credentials credentials) { SmartAutoTasks smartAutoTasks = harness.tasks().auto().smartAuto(); - CalculationData calculationData = prepareCalculationData(Customer.CONSUMER, PrGroup.TRAILER, Group.O1, Brand.AGADOS, Model.HANDY, Product.AUTO_CREDIT_C2C, "", FilterFuel.WITHOUT_FUEL); + CalculationData calculationData = prepareCalculationData(Customer.CONSUMER, PrGroup.TRAILER, Group.O1, Brand.AGADOS, Model.HANDY, Product.AUTO_CREDIT_C2C, "ZFA18200004677459", FilterFuel.WITHOUT_FUEL); calculationData.setUsage(Usage.OTHERS); calculationData.setYear(Year._2019).setMonth("Leden").setPrClass(PrClass.CARUSED); @@ -145,7 +148,7 @@ public class CompleteApplicationTest { .then(smartAutoTasks.calculationType().makeCalculationWithRegistrationDate(calculationData)) .then(smartAutoTasks.insuranceTasks().fillCustomerData(calculationData, smartAutoTasks, contactData, identificationData)) .then(smartAutoTasks.insuranceTasks().fillInsuranceData(calculationData, smartAutoTasks)) - .then(smartAutoTasks.calculationType().closeInsuranceModal()) + .then(smartAutoTasks.calculationType().closeInsuranceModalNoInsurance()) .then(smartAutoTasks.verification().checkNewCalculation()) .clickCreateApplication() .then(smartAutoTasks.contact().fillContactInformation(contactData)) @@ -180,6 +183,10 @@ public class CompleteApplicationTest { .setModel(model) .setVin(vin) .setFuel(fuel) + .setWeight("0") + .setVolume("0") + .setNumberOfSeats("0") + .setPower("0") .setPrice(500000) .setVat(Vat.NO) .setUsage(Usage.OTHERS) diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerBusinessmanTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerBusinessmanTest.java index 73dc92b..f024100 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerBusinessmanTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerBusinessmanTest.java @@ -11,7 +11,9 @@ import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.CarMock; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Filling Customer businessman.") public class CustomerBusinessmanTest extends InsuranceAndBenefitData { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerConsumerTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerConsumerTest.java index 1f9d493..15c355f 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerConsumerTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/CustomerConsumerTest.java @@ -11,7 +11,9 @@ import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.CarMock; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Filling Customer consumer.") public class CustomerConsumerTest extends InsuranceAndBenefitData { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ESubsidiesTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ESubsidiesTest.java index 9b12adf..c939d02 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ESubsidiesTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/ESubsidiesTest.java @@ -11,7 +11,9 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "eSubsidies at SMARTauto.") public class ESubsidiesTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/InvoicesTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/InvoicesTest.java index 3035d20..9e18e51 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/InvoicesTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/InvoicesTest.java @@ -10,7 +10,9 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Invoices at SMARTauto.") public class InvoicesTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/LoginTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/LoginTest.java index b5167ab..ffc4f92 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/LoginTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/LoginTest.java @@ -8,7 +8,9 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful login to SMARTauto.") public class LoginTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/OthersTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/OthersTest.java index 7d247ff..d64fda0 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/OthersTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/OthersTest.java @@ -10,7 +10,9 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled others.") public class OthersTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/QueueTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/QueueTest.java index 6068d26..a2203dc 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/QueueTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/QueueTest.java @@ -10,7 +10,9 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Queue at SMARTauto.") public class QueueTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/SavedCalculationsTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/SavedCalculationsTest.java index db74701..05df6b1 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/SavedCalculationsTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/SavedCalculationsTest.java @@ -10,7 +10,9 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Saved Calculations at SMARTauto.") public class SavedCalculationsTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/VehicleTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/VehicleTest.java index 377d206..69df14e 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/VehicleTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/VehicleTest.java @@ -11,7 +11,9 @@ import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.CarMock; import cz.moneta.test.regression.commercial.auto.smartauto.mockdata.SharedMock; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful filled vehicle.") public class VehicleTest extends InsuranceAndBenefitData { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/DealersTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/DealersTest.java index da8d776..33f2334 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/DealersTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/DealersTest.java @@ -8,7 +8,9 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Dealers") public class DealersTest { diff --git a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/LoginTest.java b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/LoginTest.java index 44d835a..799de01 100644 --- a/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/LoginTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/commercial/auto/smartauto/setman/LoginTest.java @@ -8,7 +8,9 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; +@Disabled @TestScenario(name = "Successful login to parametrization tool SETMAN.") public class LoginTest { /** diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/PrivateApiCreateRequestViaCaGwTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/PrivateApiCreateRequestViaCaGwTest.java index e46dc01..d805c63 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/PrivateApiCreateRequestViaCaGwTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/PrivateApiCreateRequestViaCaGwTest.java @@ -12,6 +12,7 @@ import cz.moneta.test.harness.annotations.TestScenario; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import java.util.Calendar; import java.util.GregorianCalendar; @@ -19,7 +20,8 @@ import java.util.GregorianCalendar; @TestScenario(name = "Create request via CA GW, verify it in ib") public class PrivateApiCreateRequestViaCaGwTest { - @SuppressWarnings("unchecked") + @Deprecated + @Disabled("Disabled, to be reviewed.") @Defect("Nor finished, waiting for HRIS integration. TA-473") @TestCase(name = "End to end testcase create customer and then create payment via CA GW") public void tc_create_Request_with_private_api_ca_gw(Harness harness, @Key("ufo-banka-banker") Credentials credentials) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/kyc/KycCaGwGetClientInformation.java b/tests/src/test/java/cz/moneta/test/regression/data/api/kyc/KycCaGwGetClientInformation.java index 3e28599..3bebad8 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/kyc/KycCaGwGetClientInformation.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/kyc/KycCaGwGetClientInformation.java @@ -20,6 +20,7 @@ import java.util.Date; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -36,6 +37,8 @@ public class KycCaGwGetClientInformation { .valueOf(LocalDate.parse(TestUtils.getTodayDate("yyyy-MM-dd")).plusDays(1))); private static final String CLIENT_ID = "3289615"; + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Login via KYC, get token, calling api with client client's business card ," + " check data in UDEBS ", environments = {TST1}) @JiraTestCase(id = "AO-T422") diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountInformation.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountInformation.java index c4ecb5d..70e27a5 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountInformation.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountInformation.java @@ -8,6 +8,7 @@ import cz.moneta.test.harness.annotations.NonConcurrentTestScenario; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; +import org.junit.jupiter.api.Disabled; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; @@ -25,6 +26,8 @@ public class Psd2CaGwGetAccountInformation { private static final String OAUTH_2_CLIENT_ID = "l7xx91bb88abcbda4b0db4cc8906803d56c4"; private static final String MOBILE_KEY = "12341234"; + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Check client accounts, account balance - end to end testcase via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T423") public void tc_check_accounts_via_ca_gw_psd2(Harness harness, @Key("api.client") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountTransactions.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountTransactions.java index 153395c..ef5387b 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountTransactions.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/aisp/Psd2CaGwGetAccountTransactions.java @@ -12,6 +12,7 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.support.auth.Key; import org.junit.jupiter.api.Assertions; import cz.moneta.test.harness.support.auth.Credentials; +import org.junit.jupiter.api.Disabled; import java.util.Date; @@ -35,6 +36,8 @@ public class Psd2CaGwGetAccountTransactions { private static final String REFERENCE = "VS:" + VS + ",KS:" + KS + ",SS:" + SS; private static final String UNSTRUCTURED = "Domaci platba z automatu pres CAGW"; + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Check client transactions via PSD2 - end to end testcase via CA GW with create new payment," + " booking and check via PSD2 api", environments = {TST1}) @JiraTestCase(id = "AO-T424") diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticForeignCurrencyPaymentTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticForeignCurrencyPaymentTest.java index 55532b6..f271d84 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticForeignCurrencyPaymentTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticForeignCurrencyPaymentTest.java @@ -13,6 +13,7 @@ import cz.moneta.test.harness.support.auth.Key; import org.jooq.Record; import org.jooq.Result; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -20,6 +21,8 @@ import static cz.moneta.test.harness.annotations.Environment.TST1; @NonConcurrentTestScenario(name = "Create Domestic Foreign Currency payment via CA GW, verify it in ib") public class Psd2CaGwCreateDomesticForeignCurrencyPaymentTest { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "End to end testcase create customer and then create payment via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T425") public void tc_create_payment_via_ca_gw_psd2(Harness harness, @Key("api.client") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticPaymentTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticPaymentTest.java index a1f0fd0..69adf18 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticPaymentTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateDomesticPaymentTest.java @@ -13,6 +13,7 @@ import cz.moneta.test.harness.support.auth.Key; import org.jooq.Record; import org.jooq.Result; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -20,6 +21,8 @@ import static cz.moneta.test.harness.annotations.Environment.TST1; @NonConcurrentTestScenario(name = "Create Domestic payment via CA GW, verify it in ib") public class Psd2CaGwCreateDomesticPaymentTest { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "End to end testcase create customer and then create payment via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T426") public void tc_create_payment_via_ca_gw_psd2(Harness harness, @Key("api.client") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateForeignPaymentTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateForeignPaymentTest.java index d3a9f3f..f51dd7b 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateForeignPaymentTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateForeignPaymentTest.java @@ -11,6 +11,7 @@ import cz.moneta.test.harness.support.auth.Key; import org.jooq.Record; import org.jooq.Result; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -18,6 +19,8 @@ import static cz.moneta.test.harness.annotations.Environment.TST1; @NonConcurrentTestScenario(name = "Create Foreign payment via CA GW, verify it in ib") public class Psd2CaGwCreateForeignPaymentTest { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "End to end testcase create customer and then create payment via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T427") public void tc_create_payment_via_ca_gw_psd2(Harness harness, @Key("api.client-with-allowed-international-payments") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreatePaymentTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreatePaymentTest.java index 285eda6..c347ad7 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreatePaymentTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreatePaymentTest.java @@ -11,6 +11,7 @@ import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.support.auth.Credentials; import cz.moneta.test.harness.support.auth.Key; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -18,6 +19,8 @@ import static cz.moneta.test.harness.annotations.Environment.TST1; @NonConcurrentTestScenario(name = "Create payment via CA GW, verify it in ib") public class Psd2CaGwCreatePaymentTest { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "End to end testcase create customer and then create payment via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T428") public void tc_create_payment_via_ca_gw_psd2(Harness harness, @Key("api.client") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateSepaPaymentTest.java b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateSepaPaymentTest.java index 8cfdc83..443d2c3 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateSepaPaymentTest.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/psd2/pisp/Psd2CaGwCreateSepaPaymentTest.java @@ -14,6 +14,7 @@ import cz.moneta.test.harness.support.auth.Key; import org.jooq.Record; import org.jooq.Result; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @@ -21,6 +22,8 @@ import static cz.moneta.test.harness.annotations.Environment.TST1; @NonConcurrentTestScenario(name = "Create Sepa payment via CA GW, verify it in ib") public class Psd2CaGwCreateSepaPaymentTest { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "End to end testcase create customer and then create payment via CA GW", environments = {TST1}) @JiraTestCase(id = "AO-T429") public void tc_create_payment_via_ca_gw_psd2(Harness harness, @Key("api.client-with-allowed-international-payments") Credentials client) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/smoke/ApiSquadSmokeTests.java b/tests/src/test/java/cz/moneta/test/regression/data/api/smoke/ApiSquadSmokeTests.java index 3a2eb7f..71c6a96 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/smoke/ApiSquadSmokeTests.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/smoke/ApiSquadSmokeTests.java @@ -4,12 +4,15 @@ import cz.moneta.test.dsl.Harness; import cz.moneta.test.harness.annotations.JiraTestCase; import cz.moneta.test.harness.annotations.TestCase; import cz.moneta.test.harness.annotations.TestScenario; +import org.junit.jupiter.api.Disabled; import static cz.moneta.test.harness.annotations.Environment.TST1; @TestScenario(name = "Smoke tests for api squad") public class ApiSquadSmokeTests { + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "API Squad - Smoke test - calling echo api for CAGW", environments = {TST1}) @JiraTestCase(id = "AO-T430") public void tc_call_echo_cagw(Harness harness) { @@ -17,8 +20,11 @@ public class ApiSquadSmokeTests { harness.withOauth2Web() .onOauth2WebEcho() .callEcho(); + } + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "API Squad - Smoke test - calling Federated login page", environments = {TST1}) @JiraTestCase(id = "AO-T431") public void tc_call_federated_login_page(Harness harness) { @@ -28,6 +34,8 @@ public class ApiSquadSmokeTests { .callFederatedLogin(); } + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "API Squad - Smoke test - calling CA Api portal login page", environments = {TST1}) @JiraTestCase(id = "AO-T432") public void tc_call_api_portal_login_page(Harness harness) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/AuthorizationCispUfoBanka.java b/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/AuthorizationCispUfoBanka.java index 494ef4b..e34e596 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/AuthorizationCispUfoBanka.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/AuthorizationCispUfoBanka.java @@ -11,6 +11,7 @@ import cz.moneta.test.harness.support.auth.AuthSupport; import org.jooq.Record; import org.jooq.Result; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import java.text.SimpleDateFormat; @@ -28,6 +29,8 @@ public class AuthorizationCispUfoBanka { private static final String THIRD_PARTY_NUMBER = "111456121"; private static final String THIRD_PARTY_NAME = "Testovaci klient"; + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Enable PSD2 Cisp via UFOBanka", environments = {TST1}) @JiraTestCase(id = "AO-T433") public void tc_enable_psd2_cisp_via_ufobanka(Harness harness) { @@ -75,6 +78,8 @@ public class AuthorizationCispUfoBanka { Assertions.assertNull(records.get(0).getValue(2)); } + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Diseable PSD2 Cisp via UFOBanka", environments = {TST1}) @JiraTestCase(id = "AO-T434") public void tc_diseable_psd2_cisp_via_ufobanka(Harness harness) { diff --git a/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/BankApiChannelUfoBanka.java b/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/BankApiChannelUfoBanka.java index 3ecce71..2eb429a 100644 --- a/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/BankApiChannelUfoBanka.java +++ b/tests/src/test/java/cz/moneta/test/regression/data/api/ufobanka/BankApiChannelUfoBanka.java @@ -23,6 +23,8 @@ public class BankApiChannelUfoBanka { private static final String BANKAPI_LIMIT_EDIT = "60000"; private static final String BANKAPI_LIMIT_NEW = "50000"; + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Create new customer and create bank api channel", environments = {TST1}) @JiraTestCase(id = "AO-T435") public void tc_create_bank_api_channel_via_ufobanka(Harness harness) { @@ -57,6 +59,8 @@ public class BankApiChannelUfoBanka { Assertions.assertEquals(limit, BANKAPI_LIMIT_NEW); } + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Edit bank api channel, setting limit", environments = {TST1}) @JiraTestCase(id = "AO-T436") public void tc_edit_bank_api_channel_via_ufobanka(Harness harness) { @@ -95,7 +99,8 @@ public class BankApiChannelUfoBanka { Assertions.assertEquals(limit, BANKAPI_LIMIT_EDIT); } - @Disabled //k oprave + @Deprecated + @Disabled("Obsolete, to be reviewed.") @TestCase(name = "Cancel bank api channel with remove IB channel", environments = {TST1}) public void tc_cancel_bank_api_channel_via_ufobanka(Harness harness) { diff --git a/tests/src/test/java/cz/moneta/test/system/cagw/CaGwExampleTest.java b/tests/src/test/java/cz/moneta/test/system/cagw/CaGwExampleTest.java new file mode 100644 index 0000000..c0c8e69 --- /dev/null +++ b/tests/src/test/java/cz/moneta/test/system/cagw/CaGwExampleTest.java @@ -0,0 +1,37 @@ +package cz.moneta.test.system.cagw; + +import cz.moneta.test.dsl.Harness; +import cz.moneta.test.harness.annotations.TestCase; +import cz.moneta.test.harness.annotations.TestScenario; +import org.junit.jupiter.api.Assertions; + +@TestScenario(name = "Example of CA API GW test") +public class CaGwExampleTest { + + String entityId = "10027415"; + + @TestCase(name = "Example of CA API GW test") + public void testCaApiGw(Harness harness) { + String attempts = harness.withCaGw().api().v1().external().service().voicebot().prepareVoicePasswordDetail() + .withAuthorizationBearer(harness.tasks().caGw().authorization().getVoicebotToken()) + .entityId(entityId) + .send() + .getAttempts(); + + Assertions.assertEquals("0", attempts); + } + + @TestCase(name = "Exaple of CA API GW test with alternative way of writing") + public void testVoicePasswordDetail(Harness harness) { + harness.withCaGw().prepareRequest() + .withPath("/api/v1/external/service/voicebot/voice_password_detail") + .withHeader("Authorization", harness.tasks().caGw().authorization().getVoicebotToken()) + .withHeader("Content-Type", "application/json") + .withPayload("{}") + .addField("entityId", entityId) + .post() + .andAssertStatus(200) + .andAssertFieldValue("attempts", "0"); + } + +} diff --git a/tests/src/test/java/cz/moneta/test/system/messaging/SendMQMessage.java b/tests/src/test/java/cz/moneta/test/system/messaging/SendMQMessage.java deleted file mode 100644 index b51d90f..0000000 --- a/tests/src/test/java/cz/moneta/test/system/messaging/SendMQMessage.java +++ /dev/null @@ -1,57 +0,0 @@ -package cz.moneta.test.system.messaging; - -import java.util.concurrent.TimeUnit; - -import cz.moneta.test.dsl.Harness; -import cz.moneta.test.harness.annotations.TestCase; -import cz.moneta.test.harness.annotations.TestScenario; -import cz.moneta.test.harness.support.util.Template; - -@TestScenario(name = "Send MQ message") -public class SendMQMessage { - - @TestCase(name = "Send JSON message") - public void sendJsonMessage(Harness harness) { - - harness.withMessaging().to("payment-notifications").asJson() - .withPayload("{\"paymentId\": \"PAY-456\", \"result\": \"OK\"}").send(); - - harness.withMessaging().from("payment-notifications").asJson() - .receiveWhere(msg -> msg.extract("paymentId").equals("PAY-456")).withTimeout(5, TimeUnit.SECONDS) - .andAssertFieldValue("result", "OK"); - } - - @TestCase(name = "Send XML message") - public void sendXmlMessage(Harness harness) { - - harness.withMessaging().to("mainframe-requests").asXml() - .withPayload("1234550000").send(); - - harness.withMessaging().to("mainframe-requests").asXml() - .withPayloadFromTemplate(Template.fromFilepath("messaging/mf-request.xml").set("accountId", "12345")) - .send(); - - harness.withMessaging().from("mainframe-requests").asXml() - .receiveWhere(msg -> msg.extract("/request/accountId").equals("12345")) - .withTimeout(5, TimeUnit.SECONDS).andAssertFieldValue("/request/balance", "50000"); - } - - @TestCase(name = "Send UTF8 message") - public void sendUtf8Message(Harness harness) { - - harness.withMessaging().to("mainframe-utf8-queue").asUtf8().withPayload("DATA|12345|ÚČET|CZK").send(); - - harness.withMessaging().from("mainframe-utf8-queue").asUtf8() - .receiveWhere(msg -> msg.getBody().contains("12345")).withTimeout(5, TimeUnit.SECONDS); - } - - @TestCase(name = "Send EBCDIC message") - public void sendEbcdicMessage(Harness harness) { - - harness.withMessaging().to("mainframe-ebcdic-queue").asEbcdic().withPayload("DATA|12345|ÚČET|CZK").send(); - - harness.withMessaging().from("mainframe-ebcdic-queue").asEbcdic() - .receiveWhere(msg -> msg.getBody().contains("12345")).withTimeout(5, TimeUnit.SECONDS); - } - -} diff --git a/tests/src/test/resources/envs/default b/tests/src/test/resources/envs/default index ba86ecd..3d11434 100644 --- a/tests/src/test/resources/envs/default +++ b/tests/src/test/resources/envs/default @@ -17,8 +17,8 @@ reports.tmfj.url=https://jira.moneta.cz/rest/atm/1.0 endpoints.jira.core=https://jira.moneta.cz/rest/api/2 #Elastic -endpoints.elastic.read.url=https://elasticclusterawscoord.lb.mbid.cz:12200 -endpoints.elastic.write.url=https://elasticclusterawsingest.lb.mbid.cz:12200 +endpoints.elastic.read.url=https://elasticclusterawscoord.awslb.mbid.cz:12200 +endpoints.elastic.write.url=https://elasticclusterawsingest.awslb.mbid.cz:12200 #Ares API endpoints.ares-api.url=https://ares.gov.cz/ekonomicke-subjekty-v-be/rest/ \ No newline at end of file diff --git a/tests/src/test/resources/envs/fixme/ppe-with-data b/tests/src/test/resources/envs/fixme/ppe-with-data index 89b5917..26f6414 100644 --- a/tests/src/test/resources/envs/fixme/ppe-with-data +++ b/tests/src/test/resources/envs/fixme/ppe-with-data @@ -38,9 +38,16 @@ commercial.cb.registration-number=438 21 001652 commercial.exevido.receiver=5nqh2a3 commercial.exevido.recipient-for-send-failure=ic6g77w commercial.exevido.message-zfo-id=12484718 -commercial.exevido.attachment-for-processing=regression/exevido/JanaKafkova.pdf +commercial.exevido.attachment-for-processing=regression/exevido/web/JanaKafkova.pdf commercial.exevido.subject-for-processing=Jana Kafková commercial.exevido.internal-reference-number-for-processing=101874/25/MMB Děd/Ned +commercial.exevido.attachment-for-reassign-document=regression/exevido/web/FrantisekLzicar.pdf +commercial.exevido.subject-for-reassign-document=František Lžičař +commercial.exevido.internal-reference-number-for-reassign-document=69681/22/MMB Děd/Ned +commercial.exevido.folder-issue-number=104144/25/MMB Děd/AE +commercial.exevido.death-certificate-name=Max Krajíček +commercial.exevido.death-certificate-attachment=regression/exevido/web/UsneseniMaxKrajicek.pdf +commercial.exevido.birth-number=9611151803 # CVM cluster data cvm.client.cif=9002194682 @@ -287,7 +294,7 @@ cards_team.retail.eur.DC=4644619347230600 cards_team.retail.standard.DC.for.block=5037 cards_team.retail.standard.DC.for.cancel=5464 cards_team.retail.standard.DC.for.Activation=4269 -cards_team.retail.gold.DC=4644615150683398 +cards_team.retail.gold.DC=4644615147662844 cards_team.retail.virtual.gold.DC=4644615150683398 cards_team.retail.rc2=9406251668 cards_team.retail.account.number7=236103188 @@ -316,9 +323,9 @@ cards_team.retail.standard.DC.for.temporary.block=4644614140986581 cards_team.retail.eur.DC.for.temporary.block=4644619354660657 cards_team.retail.rc.for.temporary.block.2=8908136182 cards_team.retail.gold.DC.for.temporary.block=4644615146619266 -cards_team.retail.usd.DC.for.temporary.block=4644618346603841 +cards_team.retail.usd.DC.for.temporary.block=4644618352707817 cards_team.retail.rc.for.temporary.block.CC=9801259006 -cards_team.retail.smart.CC.for.temporary.block=4243367052967991 +cards_team.retail.smart.CC.for.temporary.block=4243367054723285 cards_team.retail.rc.for.temporary.block.CC.2=7601033957 cards_team.retail.account.CC.for.temporary.block=4243367040810337 cards_team.retail.rc.for.temporary.block.CC.3=9709054146 @@ -326,17 +333,17 @@ cards_team.retail.gold.CC.for.temporary.block=4243360153012924 cards_team.commercial.ico.for.temporary.block=08924015 cards_team.commercial.DC.for.temporary.block=4785446151089461 cards_team.commercial.premium.DC.for.temporary.block=4785447148387356 -cards_team.commercial.usd.DC.for.temporary.block=4785448445758000 +cards_team.commercial.usd.DC.for.temporary.block=4785448445327830 cards_team.commercial.eur.DC.for.temporary.block=4785449450643616 cards_team.MBC.for.temporary.block=4785533048876067 cards_team.child.rc.for.temporary.block=1111140283 cards_team.child.card.for.temporary.block=4644614147641494 -cards_team.retail.rc.for.CC.clip1=7112236648 -cards_team.retail.smart.CC.clip=4243367050406018 -cards_team.retail.rc.for.CC.clip2=8408062751 -cards_team.retail.account.CC.clip=4243367043940115 -cards_team.retail.rc.for.CC.clip3=6312045146 -cards_team.retail.gold.CC.clip=4243360152762503 +cards_team.retail.rc.for.CC.clip1=7108213288 +cards_team.retail.smart.CC.clip=4243367050858556 +cards_team.retail.rc.for.CC.clip2=6311230431 +cards_team.retail.account.CC.clip=4243367049960976 +cards_team.retail.rc.for.CC.clip3=7908263473 +cards_team.retail.gold.CC.clip=4243360149153766 cards_team.child.onboarding.birth.number=1611188964 cards_team.child.onboarding.firstname=Dávid cards_team.child.onboarding.lastname=Plochý diff --git a/tests/src/test/resources/envs/fixme/tst1-with-data b/tests/src/test/resources/envs/fixme/tst1-with-data index cbdfbd5..0e4eecb 100644 --- a/tests/src/test/resources/envs/fixme/tst1-with-data +++ b/tests/src/test/resources/envs/fixme/tst1-with-data @@ -40,9 +40,16 @@ commercial.cb.registration-number=425 21 000942 commercial.exevido.receiver=uchhtu9 commercial.exevido.recipient-for-send-failure=5bwg8d9 commercial.exevido.message-zfo-id=12501613 -commercial.exevido.attachment-for-processing=regression/exevido/MiladaSkodova.pdf +commercial.exevido.attachment-for-processing=regression/exevido/web/MiladaSkodova.pdf commercial.exevido.subject-for-processing=Milada Škodová commercial.exevido.internal-reference-number-for-processing=41852/25/MMB Děd/Ned +commercial.exevido.attachment-for-reassign-document=regression/exevido/web/JaroslavSibal.pdf +commercial.exevido.subject-for-reassign-document=Jaroslav Šibal +commercial.exevido.internal-reference-number-for-reassign-document=MONETA/00013921/22/MMB Děd/Ned +commercial.exevido.folder-issue-number=41139/25/MMB Děd/Ned +commercial.exevido.death-certificate-name=Denis Chromý +commercial.exevido.death-certificate-attachment=regression/exevido/web/UsneseniDenisChromy.pdf +commercial.exevido.birth-number=8704129280 #Kasanova - additional config kasanova-config.verify-banker.uid=9704 @@ -310,7 +317,7 @@ cards_team.retail.usd.DC=4644618346879003 cards_team.retail.rc3=8703126410 cards_team.retail.account.number7=3003996820 cards_team.retail.standard.DC.for.IB=4644614144019660 -cards_team.retail.standard.CC.for.IB=4243360148629451 +cards_team.retail.standard.CC.for.IB=4243367054979309 cards_team.retail.rc2=8712045661 cards_team.retail.smart.CC=4243367048709978 cards_team.retail.rc4=9652267493 diff --git a/tests/src/test/resources/envs/mq b/tests/src/test/resources/envs/mq deleted file mode 100644 index 26bc9c9..0000000 --- a/tests/src/test/resources/envs/mq +++ /dev/null @@ -1,41 +0,0 @@ -environment.type=TST1 - -browser=chrome - -# Messaging - Kafka (Confluent Cloud) -messaging.kafka.bootstrap-servers=pkc-xxxxx.eu-central-1.aws.confluent.cloud:9092 -messaging.kafka.security-protocol=SASL_SSL -messaging.kafka.sasl-mechanism=PLAIN -messaging.kafka.schema-registry-url=https://psrc-xxxxx.eu-central-1.aws.confluent.cloud -messaging.kafka.value-serializer=avro - -# Messaging - IBM MQ -endpoints.imq-first-vision.host=localhost -endpoints.imq-first-vision.port=1414 -endpoints.imq-first-vision.channel=DEV.APP.SVRCONN -endpoints.imq-first-vision.queue-manager=QM1 -endpoints.imq-first-vision.ssl-cipher-suite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -endpoints.imq-first-vision.keystore.path=/home/kamma/aa/mq-docker/truststore.jks -endpoints.imq-first-vision.keystore.password=changeit -endpoints.imq-first-vision.username=app -endpoints.imq-first-vision.password=app - -# Messaging destinations -messaging.destination.order-events.type=kafka -messaging.destination.order-events.topic=order-events-tst1 -messaging.destination.payment-notifications.type=ibmmq -messaging.destination.payment-notifications.queue=DEV.QUEUE.1 -messaging.destination.payment-notifications.format=json -messaging.destination.mainframe-requests.type=ibmmq -messaging.destination.mainframe-requests.queue=XML.QUEUE.1 -messaging.destination.mainframe-requests.format=xml -messaging.destination.mainframe-ebcdic-queue.type=ibmmq -messaging.destination.mainframe-ebcdic-queue.queue=EBCDIC.QUEUE.1 -messaging.destination.mainframe-ebcdic-queue.format=ebcdic_870 -messaging.destination.mainframe-utf8-queue.type=ibmmq -messaging.destination.mainframe-utf8-queue.queue=UTF8.QUEUE.1 -messaging.destination.mainframe-utf8-queue.format=utf8_1208 - -# Messaging vault paths -vault.path.messaging.kafka=/kv/autotesty/tst1/kafka -vault.path.messaging.ibmmq=/kv/autotesty/tst1/ibmmq \ No newline at end of file diff --git a/tests/src/test/resources/envs/ppe b/tests/src/test/resources/envs/ppe index 9a67b83..71320c9 100644 --- a/tests/src/test/resources/envs/ppe +++ b/tests/src/test/resources/envs/ppe @@ -55,7 +55,7 @@ endpoints.hyposdb.url=jdbc:sqlserver://MBCZVW6AL0SQLP4.mbid.cz\\SQL2016:1433;dat endpoints.moneta-portal.url=https://ppe.moneta.cz/ #Payment engine -endpoints.payment-engine.url=https://payhubppe.lb.mbid.cz/login +endpoints.payment-engine.url=https://payhubppe.awslb.mbid.cz/login #Refinanso web portal endpoints.refinanso.url=https://ppe-hypoteka.moneta.cz/refinancing/#krok-1 diff --git a/tests/src/test/resources/envs/tst1 b/tests/src/test/resources/envs/tst1 index 47f3997..dbedecb 100644 --- a/tests/src/test/resources/envs/tst1 +++ b/tests/src/test/resources/envs/tst1 @@ -64,7 +64,7 @@ endpoints.moneta-api-portal.url=https://portal.tst.ux.mbid.cz/ endpoints.wso2.gw.url=https://wso2-tst1-gw.ux.mbid.cz #Payment engine -endpoints.payment-engine.url=https://payhubtst.lb.mbid.cz/login +endpoints.payment-engine.url=https://payhubtst.awslb.mbid.cz/login #Hypos db endpoints.hyposdb.url=jdbc:sqlserver://MBCZVW6AL0SQLT5.mbid.cz\\SQL2016:1433;databaseName=HyposTST @@ -97,40 +97,4 @@ endpoints.szr-mock-api.url=https://api-szr.tst.moneta-containers.net endpoints.exevido.url=https://exevido.tst.moneta-containers.net/#/auth/login #Cashman -endpoints.cashman.url=https://cashmantst.mbid.cz/ - -# Messaging - Kafka (Confluent Cloud) -messaging.kafka.bootstrap-servers=pkc-xxxxx.eu-central-1.aws.confluent.cloud:9092 -messaging.kafka.security-protocol=SASL_SSL -messaging.kafka.sasl-mechanism=PLAIN -messaging.kafka.schema-registry-url=https://psrc-xxxxx.eu-central-1.aws.confluent.cloud -messaging.kafka.value-serializer=avro - -# Messaging - IBM MQ -messaging.ibmmq.host=localhost -messaging.ibmmq.port=1414 -messaging.ibmmq.channel=CLIENT.CHANNEL -messaging.ibmmq.queue-manager=QM1 -messaging.ibmmq.ssl-cipher-suite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -messaging.ibmmq.keystore.path=/home/kamma/tmp/mq-docker/ibmmq-client.p12 -messaging.ibmmq.keystore.password=changeit - -# Messaging destinations -messaging.destination.order-events.type=kafka -messaging.destination.order-events.topic=order-events-tst1 -messaging.destination.payment-notifications.type=ibmmq -messaging.destination.payment-notifications.queue=PAYMENT.NOTIFICATIONS -messaging.destination.payment-notifications.format=json -messaging.destination.mainframe-requests.type=ibmmq -messaging.destination.mainframe-requests.queue=MF.REQUESTS -messaging.destination.mainframe-requests.format=xml -messaging.destination.mainframe-ebcdic-queue.type=ibmmq -messaging.destination.mainframe-ebcdic-queue.queue=MF.EBCDIC.QUEUE -messaging.destination.mainframe-ebcdic-queue.format=ebcdic_870 -messaging.destination.mainframe-utf8-queue.type=ibmmq -messaging.destination.mainframe-utf8-queue.queue=MF.UTF8.QUEUE -messaging.destination.mainframe-utf8-queue.format=utf8_1208 - -# Messaging vault paths -vault.path.messaging.kafka=/kv/autotesty/tst1/kafka -vault.path.messaging.ibmmq=/kv/autotesty/tst1/ibmmq +endpoints.cashman.url=https://cashmantst.mbid.cz/ \ No newline at end of file diff --git a/tests/src/test/resources/messaging/mf-request.xml b/tests/src/test/resources/messaging/mf-request.xml deleted file mode 100644 index 680dd73..0000000 --- a/tests/src/test/resources/messaging/mf-request.xml +++ /dev/null @@ -1,4 +0,0 @@ - - $accountId$ - 60000 - \ No newline at end of file diff --git a/tests/src/test/resources/regression/exevido/exeMessage.json b/tests/src/test/resources/regression/exevido/api/exeMessage.json similarity index 100% rename from tests/src/test/resources/regression/exevido/exeMessage.json rename to tests/src/test/resources/regression/exevido/api/exeMessage.json diff --git a/tests/src/test/resources/regression/exevido/incomeMessage.json b/tests/src/test/resources/regression/exevido/api/incomeMessage.json similarity index 100% rename from tests/src/test/resources/regression/exevido/incomeMessage.json rename to tests/src/test/resources/regression/exevido/api/incomeMessage.json diff --git a/tests/src/test/resources/regression/exevido/isdsDataboxSearch.json b/tests/src/test/resources/regression/exevido/api/isdsDataboxSearch.json similarity index 100% rename from tests/src/test/resources/regression/exevido/isdsDataboxSearch.json rename to tests/src/test/resources/regression/exevido/api/isdsDataboxSearch.json diff --git a/tests/src/test/resources/regression/exevido/outgoingMessage.json b/tests/src/test/resources/regression/exevido/api/outgoingMessage.json similarity index 100% rename from tests/src/test/resources/regression/exevido/outgoingMessage.json rename to tests/src/test/resources/regression/exevido/api/outgoingMessage.json diff --git a/tests/src/test/resources/regression/exevido/web/FrantisekLzicar.pdf b/tests/src/test/resources/regression/exevido/web/FrantisekLzicar.pdf new file mode 100644 index 0000000..e58ed63 Binary files /dev/null and b/tests/src/test/resources/regression/exevido/web/FrantisekLzicar.pdf differ diff --git a/tests/src/test/resources/regression/exevido/JanaKafkova.pdf b/tests/src/test/resources/regression/exevido/web/JanaKafkova.pdf similarity index 100% rename from tests/src/test/resources/regression/exevido/JanaKafkova.pdf rename to tests/src/test/resources/regression/exevido/web/JanaKafkova.pdf diff --git a/tests/src/test/resources/regression/exevido/web/JaroslavSibal.pdf b/tests/src/test/resources/regression/exevido/web/JaroslavSibal.pdf new file mode 100644 index 0000000..5577e79 Binary files /dev/null and b/tests/src/test/resources/regression/exevido/web/JaroslavSibal.pdf differ diff --git a/tests/src/test/resources/regression/exevido/MiladaSkodova.pdf b/tests/src/test/resources/regression/exevido/web/MiladaSkodova.pdf similarity index 100% rename from tests/src/test/resources/regression/exevido/MiladaSkodova.pdf rename to tests/src/test/resources/regression/exevido/web/MiladaSkodova.pdf diff --git a/tests/src/test/resources/regression/exevido/web/UsneseniDenisChromy.pdf b/tests/src/test/resources/regression/exevido/web/UsneseniDenisChromy.pdf new file mode 100644 index 0000000..2e0ed68 Binary files /dev/null and b/tests/src/test/resources/regression/exevido/web/UsneseniDenisChromy.pdf differ diff --git a/tests/src/test/resources/regression/exevido/web/UsneseniMaxKrajicek.pdf b/tests/src/test/resources/regression/exevido/web/UsneseniMaxKrajicek.pdf new file mode 100644 index 0000000..2f5486b Binary files /dev/null and b/tests/src/test/resources/regression/exevido/web/UsneseniMaxKrajicek.pdf differ diff --git a/tests/src/test/resources/regression/exevido/testExevido.txt b/tests/src/test/resources/regression/exevido/web/testExevido.txt similarity index 100% rename from tests/src/test/resources/regression/exevido/testExevido.txt rename to tests/src/test/resources/regression/exevido/web/testExevido.txt diff --git a/tests/src/test/resources/regression/exevido/testExevido2.txt b/tests/src/test/resources/regression/exevido/web/testExevido2.txt similarity index 100% rename from tests/src/test/resources/regression/exevido/testExevido2.txt rename to tests/src/test/resources/regression/exevido/web/testExevido2.txt