}
diff --git a/src/wizard/FedoraEasyKarma.js b/src/wizard/FedoraEasyKarma.js
index 830cce5..5c29c4b 100644
--- a/src/wizard/FedoraEasyKarma.js
+++ b/src/wizard/FedoraEasyKarma.js
@@ -1,137 +1,131 @@
-import React, { Component } from "react"
+import React from "react"
import { CollapsableBadge, ModalBadge } from "./components"
-export default class FedoraEasyKarmaItemsList extends Component {
- render() {
- if (this.props.data === undefined) return null
- else
- return (
-
-
What is Karma
- Before a new version of a package is pushed to the Fedora's Updates repository, it
- needs to be tested and proved functional.{" "}
-
- The updates are kept in{" "}
-
- Bodhi
-
- , which acts as a gatekeeper between new package releases and the stable repositories.{" "}
- Users (or automated systems) can then provide feedback in form of positive/negative
- Karma, marking the update as working (or not) within the scope of their expectations.{" "}
- An update can (and usually does) consist of several packages (rpms), that are going
- through the acceptance process together.
-
-
Sure, let me do it!
-
-
- Fedora Accounts System (FAS) account is required.{" "}
-
-
+ Before a new version of a package is pushed to the Fedora's Updates repository, it
+ needs to be tested and proved functional.{" "}
+
+ The updates are kept in{" "}
+
+ Bodhi
+
+ , which acts as a gatekeeper between new package releases and the stable repositories.{" "}
+ Users (or automated systems) can then provide feedback in form of positive/negative
+ Karma, marking the update as working (or not) within the scope of their expectations. An
+ update can (and usually does) consist of several packages (rpms), that are going through
+ the acceptance process together.
+
+
Sure, let me do it!
+
+
+ Fedora Accounts System (FAS) account is required.{" "}
+
+
+ Choose an update to test{" "}
+
+ Have a look at the available packages in updates-testing repo, by
+ running dnf --enablerepo=updates-testing list --refresh --upgrades and
+ choose a package you know.
+
+
+
+ Install the package{" "}
+ sudo dnf --enablerepo=updates-testing update PACKAGE_NAME, and test
+ whether it works, as you would expect.
+
+ Note: Other packages from updates-testing repo may be
+ installed as dependencies (shown during the installation process). Try to test those
+ too, if possible.{" "}
+
+ Sometimes, the update associated with the package you just installed fixes some
+ specific bugs, or has testcases associated with it.
+
+ Run fedora-easy-karma --fas-username=FAS_USERNAME, and look for{" "}
+ Bugs, Test Cases, and/or Notes sections in the
+ detailed output.{" "}
+
+ We already mentioned Bodhi, several times. Instead of using the{" "}
+ fedora-easy-karma interface for submitting Karma and/or learning about
+ the Update, you can visit Bodhi directly.
+
+ fedora-easy-karma shows the URL of the relevant update near the bottom
+ of the text output - look for URL like{" "}
+ https://bodhi.fedoraproject.org/updates/FEDORA-2019-00870e8bfc.
+
+ You can have a look at other people's comments, the afore-mentioned Bugs or Test
+ Cases, and even submit the Karma directly. Just use your FAS credentials to log-in.
+
+
+
+
+ Run fedora-easy-karma --fas-username=FAS_USERNAME and report what you
+ found out.{" "}
+
+ It identifies the packages installed from the updates-testing{" "}
+ repository, and matches them to the updates in Bodhi.
+
+ You are then presented with the relevant updates one-by-one, to submit Karma and a
+ comment.{" "}
+
+
- Visit{" "}
+ Enter 1 to mark positive karma (the update works just fine, as far
+ as you can tell), or -1 to mark the package as broken.
+ Not sure you can judge the package's state? Have a look at the{" "}
- FAS Sign-up page
- {" "}
- and create it.
+ href="https://fedoraproject.org/wiki/QA:Update_feedback_guidelines"
+ rel="noopener noreferrer">
+ Update Feedback Guidelines
+
+
+ Still not sure? Just press Enter to skip it.
-
Note the username and password, you will need it later on.
-
-
-
-
- Make sure your system is up-to-date: sudo dnf update --refresh
-
- Choose an update to test{" "}
-
- Have a look at the available packages in updates-testing repo, by
- running dnf --enablerepo=updates-testing list --refresh --upgrades and
- choose a package you know.
-
-
-
- Install the package{" "}
- sudo dnf --enablerepo=updates-testing update PACKAGE_NAME, and test
- whether it works, as you would expect.
-
- Note: Other packages from updates-testing repo may be
- installed as dependencies (shown during the installation process). Try to test those
- too, if possible.{" "}
-
- Sometimes, the update associated with the package you just installed fixes some
- specific bugs, or has testcases associated with it.
-
- Run fedora-easy-karma --fas-username=FAS_USERNAME, and look for{" "}
- Bugs, Test Cases, and/or Notes sections in
- the detailed output.{" "}
-
- We already mentioned Bodhi, several times. Instead of using the{" "}
- fedora-easy-karma interface for submitting Karma and/or learning
- about the Update, you can visit Bodhi directly.
-
- fedora-easy-karma shows the URL of the relevant update near the
- bottom of the text output - look for URL like{" "}
- https://bodhi.fedoraproject.org/updates/FEDORA-2019-00870e8bfc.
-
- You can have a look at other people's comments, the afore-mentioned Bugs or Test
- Cases, and even submit the Karma directly. Just use your FAS credentials to
- log-in.
-
-
-
-
- Run fedora-easy-karma --fas-username=FAS_USERNAME and report what you
- found out.{" "}
-
- It identifies the packages installed from the updates-testing{" "}
- repository, and matches them to the updates in Bodhi.
-
- You are then presented with the relevant updates one-by-one, to submit Karma and a
- comment.{" "}
-
-
-
- Enter 1 to mark positive karma (the update works just fine, as
- far as you can tell), or -1 to mark the package as broken.{" "}
-
- Not sure you can judge the package's state? Have a look at the{" "}
-
- Update Feedback Guidelines
-
-
- Still not sure? Just press Enter to skip it.
-
-
- Add a comment - even if it works, try to describe what you tested. It can be
- as easy as{" "}
- I tried openning and editing a document, and it worked. when you
- test a text-editor, or{" "}
- I opened a couple of tabs, and browsed random pages. for a
- web-browser.
-
- Absolutely make sure to provide reasonable amount of detail, when submitting
- negative karma - ideally, you should also create a bugreport, and reference
- it in the comment.
-
-
-
-
-
-
- Restore the stable-packages on your system by running{" "}
- sudo dnf distro-sync
-
-
-
- )
- }
+
+ Add a comment - even if it works, try to describe what you tested. It can be as
+ easy as I tried openning and editing a document, and it worked.{" "}
+ when you test a text-editor, or{" "}
+ I opened a couple of tabs, and browsed random pages. for a
+ web-browser.
+
+ Absolutely make sure to provide reasonable amount of detail, when submitting
+ negative karma - ideally, you should also create a bugreport, and reference it
+ in the comment.
+
+
+
+
+
+
+ Restore the stable-packages on your system by running sudo dnf distro-sync
+
+
+
+ )
}
diff --git a/src/wizard/FedoraManualTesting.js b/src/wizard/FedoraManualTesting.js
index 10de4c2..aca861a 100644
--- a/src/wizard/FedoraManualTesting.js
+++ b/src/wizard/FedoraManualTesting.js
@@ -1,408 +1,382 @@
-import React, { Component } from "react"
+import React, { useState } from "react"
import { Modal, ModalHeader, ModalBody, ModalFooter } from "reactstrap"
import { CollapsableCard, ModalBadge } from "./components"
-export default class FedoraManualTesting extends Component {
- render() {
- let sections = Object.keys(this.props.data).map((k) => (
-
- ))
- return
+ )
}
-export class FedoraManualTestingItemsListSub1 extends Component {
- render() {
- var subsections = Object.keys(this.props.data).map((k) => (
-
- {k}
-
-
- ))
- subsections =
{subsections}
+export function FedoraManualTestingItemsListSub1(props) {
+ var subsections = Object.keys(props.data).map((k) => (
+
+ {k}
+
+
+ ))
+ subsections =
{subsections}
- var l1 =
- switch (this.props.title) {
- case "Installation":
- l1 = (
-
- The Installation testcases generally deal with a part of the
- installation procedure.
-
- You will certainly need an installation ISO, and either a Virtual or Bare-metal machine
- to run the test.
-
- Note: some (not that many, though) of these testcases require Bare-metal
- machine. Be sure to read the Description of the testcase carefully.
-
- )
- break
- case "Desktop":
- l1 = (
-
- The Desktop testcases cover basic functionality of the desktop
- environment.
-
- You can either install Fedora onto clean Virtual or Bare-metal machine, or use a Live
- image instead.
-
- )
- break
- case "Base":
- l1 = (
-
- The Base testcases cover the system's basic functionality just
- after a clean installation.
-
- Most times, you will be asked to perform a clean Fedora installation. You can use
- either Virtual or Bare-metal machine.
-
- Pro tip: using a snapshot of cleanly installed Virtual machine is just fine. No
- need to reinstall for every testcase.
-
- )
- break
- case "Server":
- l1 = (
-
- The Server testcases usually require multiple machines to test the
- server-client behaviour, and might feel a bit advanced.
-
- )
- break
- case "Cloud":
- l1 = (
-
- Even thought the Cloud testcases are best done in the specific
- environments like EC2 or Openstack, you can also perform them locally using Testcloud.
-
- Have a look at the{" "}
-
- Cloud provider setup
- {" "}
- guides for more details.
-
+ The Installation testcases generally deal with a part of the
+ installation procedure.
+
+ You will certainly need an installation ISO, and either a Virtual or Bare-metal machine
+ to run the test.
+
+ Note: some (not that many, though) of these testcases require Bare-metal machine.
+ Be sure to read the Description of the testcase carefully.
+
+ )
+ break
+ case "Desktop":
+ l1 = (
+
+ The Desktop testcases cover basic functionality of the desktop
+ environment.
+
+ You can either install Fedora onto clean Virtual or Bare-metal machine, or use a Live
+ image instead.
+
+ )
+ break
+ case "Base":
+ l1 = (
+
+ The Base testcases cover the system's basic functionality just
+ after a clean installation.
+
+ Most times, you will be asked to perform a clean Fedora installation. You can use either
+ Virtual or Bare-metal machine.
+
+ Pro tip: using a snapshot of cleanly installed Virtual machine is just fine. No
+ need to reinstall for every testcase.
+
+ )
+ break
+ case "Server":
+ l1 = (
+
+ The Server testcases usually require multiple machines to test the
+ server-client behaviour, and might feel a bit advanced.
+
+ )
+ break
+ case "Cloud":
+ l1 = (
+
+ Even thought the Cloud testcases are best done in the specific
+ environments like EC2 or Openstack, you can also perform them locally using Testcloud.
+
+ Have a look at the{" "}
+
+ Cloud provider setup
+ {" "}
+ guides for more details.
+
- Identify the testcase and `environment` in our{" "}
-
- Tescase matrix
- {" "}
-
-
-
- Have a look at the matrix. The rows are the testcases, and the columns are the
- environments. Most of the time, these are {environment_examples} for the{" "}
- {testtype} testcases, but you can also encouter a generic Result{" "}
- column, which usually means you can use any media/architecture available.
-
+ Identify the testcase and `environment` in our{" "}
+
+ Tescase matrix
+ {" "}
+
+
+
+ Have a look at the matrix. The rows are the testcases, and the columns are the
+ environments. Most of the time, these are {environment_examples} for the {testtype}{" "}
+ testcases, but you can also encouter a generic Result column, which
+ usually means you can use any media/architecture available.
+
- Read the{" "}
-
- Testcase
- {" "}
- briefly, just to have a general idea of what you will be doing.{" "}
-
- The testcases are generally split into four sections:
-
-
- Description should give you a general idea of what is being
- tested
-
-
- Setup describes the steps to take before you begin working on
- the testcase
-
-
- How to test contains the individual steps to take in order to
- perform the testcase
-
-
- Expected results describe what you should check while testing in
- order to decide whether it Passed of Failed
-
-
-
-
+
+ Read the{" "}
+
+ Testcase
+ {" "}
+ briefly, just to have a general idea of what you will be doing.{" "}
+
+ The testcases are generally split into four sections:
+
+
+ Description should give you a general idea of what is being tested
+
+
+ Setup describes the steps to take before you begin working on the
+ testcase
+
+
+ How to test contains the individual steps to take in order to
+ perform the testcase
+
+
+ Expected results describe what you should check while testing in
+ order to decide whether it Passed of Failed
+
+
+
+
-
- Based on the enviromnent, select and download and appropriate ISO{" "}
-
- here
-
- .{" "}
-
-
-
- Most of the time Workstation Live, or Server DVD are fine, but sometimes there
- are specific products (e.g. Xfce) to be tested
-
-
- Make sure to read about identifying the environment above.{" "}
-
-
-
- Have a look at the matrix. The rows are the testcases, and the columns are
- the environments. Most of the time, these are {environment_examples} for
- the {testtype} testcases, but you can also encouter a generic{" "}
- Result column, which usually means you can use any
- media/architecture available.
-
+ Based on the enviromnent, select and download and appropriate ISO{" "}
+
+ here
+
+ .{" "}
+
+
+
+ Most of the time Workstation Live, or Server DVD are fine, but sometimes there are
+ specific products (e.g. Xfce) to be tested
+
+
+ Make sure to read about identifying the environment above.{" "}
+
+
+
+ Have a look at the matrix. The rows are the testcases, and the columns are
+ the environments. Most of the time, these are {environment_examples} for the{" "}
+ {testtype} testcases, but you can also encouter a generic Result{" "}
+ column, which usually means you can use any media/architecture available.
+
- Study the{" "}
-
- Testcase
- {" "}
- thoroughly, to be sure you know what to do.{" "}
-
-
-
- The testcase structure is not making sense?{" "}
-
- The testcases are generally split into four sections:
-
-
- Description should give you a general idea of what is
- being tested
-
-
- Setup describes the steps to take before you begin working
- on the testcase
-
-
- How to test contains the individual steps to take in order
- to perform the testcase
-
-
- Expected results describe what you should check while
- testing in order to decide whether it Passed of Failed
-
-
-
-
-
- Maybe you are stuck, or just do not understand something? Feel free to ask on our
- IRC channel #fedora-qa at freenode.net{" "}
-
- If you are not that familiar with IRC, you can use the{" "}
-
- web-interface
- {" "}
- just enter a Nickname of your choice, #fedora-qa (including the hash sign) in
- the Channels field, and click Connect.
-
-
-
-
-
+
+ Study the{" "}
+
+ Testcase
+ {" "}
+ thoroughly, to be sure you know what to do.{" "}
+
+
+
+ The testcase structure is not making sense?{" "}
+
+ The testcases are generally split into four sections:
+
+
+ Description should give you a general idea of what is being
+ tested
+
+
+ Setup describes the steps to take before you begin working
+ on the testcase
+
+
+ How to test contains the individual steps to take in order
+ to perform the testcase
+
+
+ Expected results describe what you should check while
+ testing in order to decide whether it Passed of Failed
+
+
+
+
+
+ Maybe you are stuck, or just do not understand something? Feel free to ask on our
+ IRC channel #fedora-qa at freenode.net{" "}
+
+ If you are not that familiar with IRC, you can use the{" "}
+
+ web-interface
+ {" "}
+ just enter a Nickname of your choice, #fedora-qa (including the hash sign) in the
+ Channels field, and click Connect.
+
+
+
+
+
-
Get your hands dirty, and test the hell out of it!
-
-
- Great! Either use relval report-results on command line (make sure to
- install the relval package first), or modify the{" "}
-
- matrix
- {" "}
- directly by clicking on the Edit link next to the Matrice's header, and
- put {{result|pass|YOUR_NAME_HERE|}} in the
- appropriate spot.
-
+
Get your hands dirty, and test the hell out of it!
+
+
+ Great! Either use relval report-results on command line (make sure to
+ install the relval package first), or modify the{" "}
+
+ matrix
+ {" "}
+ directly by clicking on the Edit link next to the Matrice's header, and
+ put {{result|pass|YOUR_NAME_HERE|}} in the appropriate
+ spot.
+
-
- Awesome! Ideally read up on https://fedoraproject.org/wiki/How_to_file_a_bug_report
-
- If you don't feel like reading a wall of text, at least pot together a small document
- containing:
-
-
- Brief description of what went wrong (e.g. "QA:Testcase_dualboot_with_windows -
- Bootloader does not show the Windows option")
-
-
- The name of the ISO image you used (e.g.
- "Fedora-Server-netinst-i386-Rawhide-20181227.n.0.iso")
-
-
- Note what you did, as precisely as possible, in a step-by-step fashion. Even
- details like "Chose Polish as the languae for the installation process" can
- matter.
-
-
- Try to reproduce the same state again based on the steps above (you can also
- experiment a bit, and try to come up with just the critical steps)
-
-
- Share your notes on the internet (you can use fpaste), and ask for help with
- filing the bug report on our IRC channel #fedora-qa at freenode.net{" "}
-
- If you are not that familiar with IRC, you can use the web-interface[link] just
- enter a Nickname of your choice, #fedora-qa (including the hash sign) in the
- Channels field, and click Connect.
-
-
-
- Once you get the Bug reported, make sure to also submit the result into the testing
- matrix. Either use relval report-results on command line (make sure to
- install the relval package first), or modify the{" "}
-
- matrix
- {" "}
- directly by clicking on the Edit link next to the Matrice's header, and
- put {{result|fail|YOUR_NAME_HERE|BUG_NUMBER|}} in
- the appropriate spot.
-
-
-
-
- )
- }
+
+ Awesome! Ideally read up on https://fedoraproject.org/wiki/How_to_file_a_bug_report
+
+ If you don't feel like reading a wall of text, at least pot together a small document
+ containing:
+
+
+ Brief description of what went wrong (e.g. "QA:Testcase_dualboot_with_windows -
+ Bootloader does not show the Windows option")
+
+
+ The name of the ISO image you used (e.g.
+ "Fedora-Server-netinst-i386-Rawhide-20181227.n.0.iso")
+
+
+ Note what you did, as precisely as possible, in a step-by-step fashion. Even
+ details like "Chose Polish as the languae for the installation process" can matter.
+
+
+ Try to reproduce the same state again based on the steps above (you can also
+ experiment a bit, and try to come up with just the critical steps)
+
+
+ Share your notes on the internet (you can use fpaste), and ask for help with filing
+ the bug report on our IRC channel #fedora-qa at freenode.net{" "}
+
+ If you are not that familiar with IRC, you can use the web-interface[link] just
+ enter a Nickname of your choice, #fedora-qa (including the hash sign) in the
+ Channels field, and click Connect.
+
+
+
+ Once you get the Bug reported, make sure to also submit the result into the testing
+ matrix. Either use relval report-results on command line (make sure to
+ install the relval package first), or modify the{" "}
+
+ matrix
+ {" "}
+ directly by clicking on the Edit link next to the Matrice's header, and
+ put {{result|fail|YOUR_NAME_HERE|BUG_NUMBER|}} in the
+ appropriate spot.
+
+
+
+
+ )
}
-class ModalInfo extends Component {
- constructor(props) {
- super(props)
- this.state = {
- modal: false,
- }
+function ModalInfo(props) {
+ const [state, setState] = useState({
+ modal: false,
+ })
- this.toggle = this.toggle.bind(this)
- }
-
- toggle(e) {
- this.setState({
- modal: !this.state.modal,
+ const toggle = (e) => {
+ setState({
+ modal: !state.modal,
})
e.preventDefault()
}
- render() {
- const project = this.props.buttonLabel.split(":")[0]
- const ticket = this.props.buttonLabel.split(":")[1] //strip whitespace?
+ const project = props.buttonLabel.split(":")[0]
+ const ticket = props.buttonLabel.split(":")[1] //strip whitespace?
- return (
-