com.atlassian.jira.functest.framework.navigation
Class IssueNavigationImpl

java.lang.Object
  extended by com.atlassian.jira.functest.framework.AbstractFuncTestUtil
      extended by com.atlassian.jira.functest.framework.AbstractNavigationUtil
          extended by com.atlassian.jira.functest.framework.navigation.IssueNavigationImpl
All Implemented Interfaces:
FuncTestLogger, IssueNavigation

public class IssueNavigationImpl
extends AbstractNavigationUtil
implements IssueNavigation

Navigate Issue functionality

Since:
v3.13

Field Summary
 
Fields inherited from class com.atlassian.jira.functest.framework.AbstractFuncTestUtil
environmentData, FS, locators, logger, logIndentLevel, tester
 
Constructor Summary
IssueNavigationImpl(net.sourceforge.jwebunit.WebTester tester, com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData)
           
 
Method Summary
 void addComment(String issueKey, String comment)
          Adds a comment on the given issue, making it visible to all the users who can see the issue.
 void addComment(String issueKey, String comment, String roleLevel)
          Adds a comment on the given issue visible only to members the given role.
 IssueNavigation addWatchers(String issueKey, String... usernames)
          Add watchers to an issue.
 void assignIssue(String issueKey, String comment, String userFullName)
          Assign this issue to a different user.
 void assignIssue(String issueKey, String userFullName, String comment, String commentLevel)
          Assign an issue to a user.
 AttachmentsBlock attachments(String issueKey)
          Returns a representation of the attachments block on the view issue page for a specific issue.
 void closeIssue(String issueKey, String resolution, String comment)
          Closes an issue with the given resolution.
 String createIssue(String projectName, String issueType, String summary)
          Creates a new issue for the given project and returns the created issue key

Assumes that the schemes are such that summary is the only required field

 String createIssue(String projectName, String issueType, String summary, Map<String,String[]> params)
          Creates a new issue for the given project and returns the created issue key

 String createSubTask(String parentIssueKey, String subTaskType, String subTaskSummary, String subTaskDescription)
          Creates a new sub task for the given parent issue and returns the created issue key

Assumes that the schemes are such that summary is the only required field.

 void deleteIssue(String issueKey)
          Deletes the specific issue.
 IssueNavigation editCustomLabels(int issueId, int customFieldId)
          Edit custom labels of the issue.
 IssueNavigation editLabels(int issueId)
          Go to edit labels of the issue.
protected  Administration getAdministration()
           
 String getId(String issueKey)
          Gets the id of an issue.
 void goToCreateIssueForm(String projectName, String issueType)
          Goes to the create issue form.
 void gotoEditIssue(long issueId)
          Navigates straight to the Edit screen of a specific issue, bypassing the View screen.
 void gotoEditIssue(String issueKey)
          Navigates to the Edit screen of a specific issue.
 void gotoIssue(String issueKey)
          Navigates to the the issue provided
 void gotoIssueChangeHistory(String issueKey)
          Navigates to the change history tab of the issue provided
 void gotoIssueWorkLog(String issueKey)
          Navigates to the work log tab of the issue provided
 void logWork(String issueKey, String timeLogged)
          Log work against an issue
 void logWork(String issueKey, String timeLogged, String newEstimate)
          Logs work on the issue with the given key.
 void reopenIssue(String issueKey)
          Reopens a resolved issue.
 void resolveIssue(String issueKey, String resolution, String comment)
          Resolves an issue with the given resolution.
 void resolveIssue(String issueKey, String resolution, String comment, String originalEstimate, String remainingEstimate)
          Resolves an issue with the given resolution.
 IssueNavigatorNavigation returnToSearch()
          Click the return to search link.
 void setAffectsVersions(String issueKey, String... affectsVersions)
          Sets the given affects versions on the selected issue.
 void setComponents(String issueKey, String... components)
          Sets the given components on the selected issue.
 void setDescription(String issueKey, String description)
          Sets the description field on the given issue.
 void setDueDate(String issueKey, String dateString)
          Sets the due date for an issue to the date string passed in
 void setEnvironment(String issueKey, String environment)
          Sets the environment field on the given issue.
 void setEstimates(String issueKey, String originalEstimate, String remainingEstimate)
          Sets the original and remaining estimate on an issue and submits this change.
 void setFixVersions(String issueKey, String... fixVersions)
          Sets the given fix versions on the selected issue.
 void setFreeTextCustomField(String issueKey, String customFieldId, String text)
          Sets the description field on the given issue.
 void setIssueMultiSelectField(String issueKey, String selectName, String... options)
          Sets the multi-select field to the options
 void setOriginalEstimate(String issueKey, String newValue)
          Sets the original estimate on an issue and submits this change.
 void setPriority(String issueKey, String priority)
          Sets the priority of the given issue
 void setRemainingEstimate(String issueKey, String newValue)
          Sets the remaining estimate on an issue and submits this change.
 void unassignIssue(String issueKey, String comment)
          Unassign an issue.
 void unassignIssue(String issueKey, String comment, String commentLevel)
          Un-assign an issue.
 void unvoteIssue(String issueKey)
          Removes the user's vote for the issue.
 void unwatchIssue(String issueKey)
          Unwatches the issue for the current user.
 void viewIssue(String issueKey)
          Navigates to a specific issue.
 void viewPrintable(String issueKey)
          Navigates to a specific issues printable view.
 void viewXml(String issueKey)
          Navigates to a specific issue's XML view.
 void voteIssue(String issueKey)
          Add the user's vote for the issue
 void watchIssue(String issueKey)
          Starts watching an issue if not already watched.
 
Methods inherited from class com.atlassian.jira.functest.framework.AbstractNavigationUtil
getNavigation
 
Methods inherited from class com.atlassian.jira.functest.framework.AbstractFuncTestUtil
childLogIndentLevel, getAssertions, getEnvironmentData, getFuncTestHelperFactory, getLogger, log, log, navigation, submitAtPage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IssueNavigationImpl

public IssueNavigationImpl(net.sourceforge.jwebunit.WebTester tester,
                           com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData)
Method Detail

viewIssue

public void viewIssue(String issueKey)
Description copied from interface: IssueNavigation
Navigates to a specific issue.

Specified by:
viewIssue in interface IssueNavigation
Parameters:
issueKey - key of issue

viewPrintable

public void viewPrintable(String issueKey)
Description copied from interface: IssueNavigation
Navigates to a specific issues printable view.

Specified by:
viewPrintable in interface IssueNavigation
Parameters:
issueKey - key of issue

viewXml

public void viewXml(String issueKey)
Description copied from interface: IssueNavigation
Navigates to a specific issue's XML view.

Specified by:
viewXml in interface IssueNavigation
Parameters:
issueKey - key of issue

gotoEditIssue

public void gotoEditIssue(String issueKey)
Description copied from interface: IssueNavigation
Navigates to the Edit screen of a specific issue.

Specified by:
gotoEditIssue in interface IssueNavigation
Parameters:
issueKey - key of issue

gotoEditIssue

public void gotoEditIssue(long issueId)
Description copied from interface: IssueNavigation
Navigates straight to the Edit screen of a specific issue, bypassing the View screen.

Specified by:
gotoEditIssue in interface IssueNavigation
Parameters:
issueId - id of issue

deleteIssue

public void deleteIssue(String issueKey)
Description copied from interface: IssueNavigation
Deletes the specific issue.

Specified by:
deleteIssue in interface IssueNavigation
Parameters:
issueKey - issue key

gotoIssue

public void gotoIssue(String issueKey)
Description copied from interface: IssueNavigation
Navigates to the the issue provided

Specified by:
gotoIssue in interface IssueNavigation
Parameters:
issueKey - The issuekey to navigate to.

gotoIssueChangeHistory

public void gotoIssueChangeHistory(String issueKey)
Description copied from interface: IssueNavigation
Navigates to the change history tab of the issue provided

Specified by:
gotoIssueChangeHistory in interface IssueNavigation
Parameters:
issueKey - The issuekey to navigate to.

gotoIssueWorkLog

public void gotoIssueWorkLog(String issueKey)
Description copied from interface: IssueNavigation
Navigates to the work log tab of the issue provided

Specified by:
gotoIssueWorkLog in interface IssueNavigation
Parameters:
issueKey - The issuekey to navigate to.

createIssue

public String createIssue(String projectName,
                          String issueType,
                          String summary)
Description copied from interface: IssueNavigation
Creates a new issue for the given project and returns the created issue key

Assumes that the schemes are such that summary is the only required field

Specified by:
createIssue in interface IssueNavigation
Parameters:
projectName - the project name - can be null and hence assume default
issueType - the issue type - can be null and hence assume default
summary - a summary for the issue
Returns:
the newly created issue key

createIssue

public String createIssue(String projectName,
                          String issueType,
                          String summary,
                          Map<String,String[]> params)
Description copied from interface: IssueNavigation
Creates a new issue for the given project and returns the created issue key

Specified by:
createIssue in interface IssueNavigation
Parameters:
projectName - the project name - can be null and hence assume default
issueType - the issue type - can be null and hence assume default
summary - a summary for the issue
params - a map containing any optional params to add to the issue
Returns:
the newly created issue key

createSubTask

public String createSubTask(String parentIssueKey,
                            String subTaskType,
                            String subTaskSummary,
                            String subTaskDescription)
Description copied from interface: IssueNavigation
Creates a new sub task for the given parent issue and returns the created issue key

Assumes that the schemes are such that summary is the only required field.

Note: if sub tasks are not enabled, they will be enabled before attempting to create the sub task.

Specified by:
createSubTask in interface IssueNavigation
Parameters:
parentIssueKey - the parent issue
subTaskType - the sub task type
subTaskSummary - the summary
subTaskDescription - the description; use null to omit this field
Returns:
the newly created issue key

goToCreateIssueForm

public void goToCreateIssueForm(String projectName,
                                String issueType)
Description copied from interface: IssueNavigation
Goes to the create issue form.

Specified by:
goToCreateIssueForm in interface IssueNavigation
Parameters:
projectName - The project for the issue to be created in the form.
issueType - The issue type for the issue to be created in the form.

setPriority

public void setPriority(String issueKey,
                        String priority)
Description copied from interface: IssueNavigation
Sets the priority of the given issue

Specified by:
setPriority in interface IssueNavigation
Parameters:
issueKey - issue key
priority - the Displayed priority value

setEnvironment

public void setEnvironment(String issueKey,
                           String environment)
Description copied from interface: IssueNavigation
Sets the environment field on the given issue.

Specified by:
setEnvironment in interface IssueNavigation
Parameters:
issueKey - issue key
environment - the text

setDescription

public void setDescription(String issueKey,
                           String description)
Description copied from interface: IssueNavigation
Sets the description field on the given issue.

Specified by:
setDescription in interface IssueNavigation
Parameters:
issueKey - issue key
description - the text

setFreeTextCustomField

public void setFreeTextCustomField(String issueKey,
                                   String customFieldId,
                                   String text)
Description copied from interface: IssueNavigation
Sets the description field on the given issue.

Specified by:
setFreeTextCustomField in interface IssueNavigation
Parameters:
issueKey - issue key
customFieldId - the id of the custom field to set e.g. customfield_10000
text - the text

assignIssue

public void assignIssue(String issueKey,
                        String comment,
                        String userFullName)
Description copied from interface: IssueNavigation
Assign this issue to a different user.

Specified by:
assignIssue in interface IssueNavigation
Parameters:
issueKey - The issue key of the issue to be assigned.
comment - The comment to be added when assigning the specified issue.
userFullName - the full name of the user this should be assigned to.

assignIssue

public void assignIssue(String issueKey,
                        String userFullName,
                        String comment,
                        String commentLevel)
Description copied from interface: IssueNavigation
Assign an issue to a user.

Specified by:
assignIssue in interface IssueNavigation
Parameters:
issueKey - The issue key of the issue to be assigned.
userFullName - The full name of the user the issue will be assigned to.
comment - The comment to be added when assigning the specified issue.
commentLevel - The group or role that will be able to view the specified comment.

unassignIssue

public void unassignIssue(String issueKey,
                          String comment)
Description copied from interface: IssueNavigation
Unassign an issue. Note: assumes unassigned issues are allowed.

Specified by:
unassignIssue in interface IssueNavigation
Parameters:
issueKey - The issue key of the issue to be un-assigned.
comment - The comment to be added when un-assigning the specified issue.

unassignIssue

public void unassignIssue(String issueKey,
                          String comment,
                          String commentLevel)
Description copied from interface: IssueNavigation
Un-assign an issue. Note: assumes un-assigned issues are allowed.

Specified by:
unassignIssue in interface IssueNavigation
Parameters:
issueKey - The issue key of the issue to be un-assigned.
comment - The comment to be added when un-assigning the specified issue.
commentLevel - The group or role that will be able to view the specified comment.

resolveIssue

public void resolveIssue(String issueKey,
                         String resolution,
                         String comment)
Description copied from interface: IssueNavigation
Resolves an issue with the given resolution.

Specified by:
resolveIssue in interface IssueNavigation
Parameters:
issueKey - the issue key to resolve.
resolution - the name of the resolution. e.g. Fixed. Case sensitive!
comment - a comment to add

closeIssue

public void closeIssue(String issueKey,
                       String resolution,
                       String comment)
Description copied from interface: IssueNavigation
Closes an issue with the given resolution.

Specified by:
closeIssue in interface IssueNavigation
Parameters:
issueKey - the issue key to resolve.
resolution - the name of the resolution. e.g. Fixed. Case sensitive!
comment - a comment to add

attachments

public AttachmentsBlock attachments(String issueKey)
Description copied from interface: IssueNavigation
Returns a representation of the attachments block on the view issue page for a specific issue.

Specified by:
attachments in interface IssueNavigation
Parameters:
issueKey - the key of the issue.
Returns:
An AttachmentsBlock for the provided issue key.

resolveIssue

public void resolveIssue(String issueKey,
                         String resolution,
                         String comment,
                         String originalEstimate,
                         String remainingEstimate)
Description copied from interface: IssueNavigation
Resolves an issue with the given resolution.

NOTE:This method assumes time tracking is enabled

Specified by:
resolveIssue in interface IssueNavigation
Parameters:
issueKey - the issue key to resolve.
resolution - the name of the resolution. e.g. Fixed. Case sensitive!
comment - a comment to add
originalEstimate - The value to set as the original estimate.
remainingEstimate - The value to set as the remaining estimate.

logWork

public void logWork(String issueKey,
                    String timeLogged)
Description copied from interface: IssueNavigation
Log work against an issue

Specified by:
logWork in interface IssueNavigation
Parameters:
issueKey - the issue to work against
timeLogged - the duration string (i.e. "2h") representing the work don

logWork

public void logWork(String issueKey,
                    String timeLogged,
                    String newEstimate)
Logs work on the issue with the given key.

Specified by:
logWork in interface IssueNavigation
Parameters:
issueKey - the key of the issue to log work on.
timeLogged - formatted time spent e.g. 1h 30m.
newEstimate - formatted new estimate e.g. 1d 2h.

reopenIssue

public void reopenIssue(String issueKey)
Description copied from interface: IssueNavigation
Reopens a resolved issue.

Specified by:
reopenIssue in interface IssueNavigation
Parameters:
issueKey - the issue key to reopen.

unwatchIssue

public void unwatchIssue(String issueKey)
Description copied from interface: IssueNavigation
Unwatches the issue for the current user.

Specified by:
unwatchIssue in interface IssueNavigation
Parameters:
issueKey - the issue key

watchIssue

public void watchIssue(String issueKey)
Description copied from interface: IssueNavigation
Starts watching an issue if not already watched.

Specified by:
watchIssue in interface IssueNavigation
Parameters:
issueKey - the issue to watch

addWatchers

public IssueNavigation addWatchers(String issueKey,
                                   String... usernames)
Description copied from interface: IssueNavigation
Add watchers to an issue.

Specified by:
addWatchers in interface IssueNavigation
Parameters:
issueKey - key of the issue
usernames - usernames of users to add as watchers
Returns:
this issue navigation instance

unvoteIssue

public void unvoteIssue(String issueKey)
Description copied from interface: IssueNavigation
Removes the user's vote for the issue. Note: you can only remove your vote for an issue if it is not resolved.

Specified by:
unvoteIssue in interface IssueNavigation
Parameters:
issueKey - the issue key

voteIssue

public void voteIssue(String issueKey)
Description copied from interface: IssueNavigation
Add the user's vote for the issue

Specified by:
voteIssue in interface IssueNavigation
Parameters:
issueKey - the issue key

addComment

public void addComment(String issueKey,
                       String comment)
Description copied from interface: IssueNavigation
Adds a comment on the given issue, making it visible to all the users who can see the issue.

Specified by:
addComment in interface IssueNavigation
Parameters:
issueKey - The issue key.
comment - The body of the comment to be added.

addComment

public void addComment(String issueKey,
                       String comment,
                       String roleLevel)
Description copied from interface: IssueNavigation
Adds a comment on the given issue visible only to members the given role.

Specified by:
addComment in interface IssueNavigation
Parameters:
issueKey - The issue key.
comment - The body of the comment to be added.
roleLevel - role level; use null to not select any role level.

setFixVersions

public void setFixVersions(String issueKey,
                           String... fixVersions)
Description copied from interface: IssueNavigation
Sets the given fix versions on the selected issue.

Specified by:
setFixVersions in interface IssueNavigation
Parameters:
issueKey - issue key
fixVersions - the names of the versions e.g. New Version 4

setAffectsVersions

public void setAffectsVersions(String issueKey,
                               String... affectsVersions)
Description copied from interface: IssueNavigation
Sets the given affects versions on the selected issue.

Specified by:
setAffectsVersions in interface IssueNavigation
Parameters:
issueKey - issue key
affectsVersions - the names of the versions e.g. New Version 4

setComponents

public void setComponents(String issueKey,
                          String... components)
Description copied from interface: IssueNavigation
Sets the given components on the selected issue.

Specified by:
setComponents in interface IssueNavigation
Parameters:
issueKey - issue key
components - components

setDueDate

public void setDueDate(String issueKey,
                       String dateString)
Description copied from interface: IssueNavigation
Sets the due date for an issue to the date string passed in

Specified by:
setDueDate in interface IssueNavigation

setIssueMultiSelectField

public void setIssueMultiSelectField(String issueKey,
                                     String selectName,
                                     String... options)
Description copied from interface: IssueNavigation
Sets the multi-select field to the options

Specified by:
setIssueMultiSelectField in interface IssueNavigation
Parameters:
issueKey - issue key
selectName - the id of the field e.g. customfield_10000
options - the named options, not the values

setEstimates

public void setEstimates(String issueKey,
                         String originalEstimate,
                         String remainingEstimate)
Description copied from interface: IssueNavigation

Sets the original and remaining estimate on an issue and submits this change.

NOTE:This method assumes time tracking is enabled

Specified by:
setEstimates in interface IssueNavigation
Parameters:
issueKey - The issue that the remaining estimate will be set on.
originalEstimate - The value to set as the original estimate.
remainingEstimate - The value to set as the remaining estimate.

setOriginalEstimate

public void setOriginalEstimate(String issueKey,
                                String newValue)
Description copied from interface: IssueNavigation

Sets the original estimate on an issue and submits this change.

NOTE:This method assumes time tracking is enabled

Specified by:
setOriginalEstimate in interface IssueNavigation
Parameters:
issueKey - The issue that the original estimate will be set on.
newValue - The value to set as the original estimate.

setRemainingEstimate

public void setRemainingEstimate(String issueKey,
                                 String newValue)
Description copied from interface: IssueNavigation

Sets the remaining estimate on an issue and submits this change.

NOTE:This method assumes time tracking is enabled

Specified by:
setRemainingEstimate in interface IssueNavigation
Parameters:
issueKey - The issue that the remaining estimate will be set on.
newValue - The value to set as the remaining estimate.

editLabels

public IssueNavigation editLabels(int issueId)
Description copied from interface: IssueNavigation
Go to edit labels of the issue.

Specified by:
editLabels in interface IssueNavigation
Parameters:
issueId - Id of the issue
Returns:
this issue navigation instance

editCustomLabels

public IssueNavigation editCustomLabels(int issueId,
                                        int customFieldId)
Description copied from interface: IssueNavigation
Edit custom labels of the issue.

Specified by:
editCustomLabels in interface IssueNavigation
Parameters:
issueId - ID of the issue
customFieldId - ID of the labels custom field
Returns:
this issue navigation instance

returnToSearch

public IssueNavigatorNavigation returnToSearch()
Description copied from interface: IssueNavigation
Click the return to search link. Assumes that the link exists.

Specified by:
returnToSearch in interface IssueNavigation
Returns:
an issue navigator navigation instance

getId

public String getId(String issueKey)
Description copied from interface: IssueNavigation
Gets the id of an issue.

Specified by:
getId in interface IssueNavigation
Parameters:
issueKey - The key of the issue in play.
Returns:
A String containing the issue's id.

getAdministration

protected Administration getAdministration()


Copyright © 2002-2012 Atlassian. All Rights Reserved.