fix(tests): add test coverage for disabled silence buttons

This commit is contained in:
Łukasz Mierzwa
2020-01-29 10:45:05 +00:00
parent 95dd07ab78
commit 6e5509d675
4 changed files with 30 additions and 2 deletions

View File

@@ -306,7 +306,9 @@ const DeleteSilence = observer(
<button
className="btn btn-danger btn-sm"
disabled={members.length === 0}
onClick={members.length && this.toggle.toggle}
onClick={() => {
members.length > 0 && this.toggle.toggle();
}}
>
<FontAwesomeIcon
className="mr-1 d-none d-sm-inline-block"

View File

@@ -107,6 +107,18 @@ describe("<DeleteSilence />", () => {
.simulate("click");
expect(tree.find(".modal-body")).toHaveLength(1);
});
it("button is disabled when all alertmanager instances are read-only", () => {
alertStore.data.upstreams.instances[0].readonly = true;
const tree = MountedDeleteSilence();
expect(tree.find("button").prop("disabled")).toBe(true);
tree
.find("button")
.at(0)
.simulate("click");
expect(tree.find(".modal-body")).toHaveLength(0);
});
});
describe("<DeleteSilenceModalContent />", () => {

View File

@@ -159,7 +159,9 @@ const SilenceDetails = ({
<button
className="btn btn-primary btn-sm mb-lg-2 mb-0"
disabled={isReadOnly}
onClick={!isReadOnly && onEditSilence}
onClick={() => {
!isReadOnly && onEditSilence();
}}
>
<FontAwesomeIcon
className="mr-1 d-none d-sm-inline-block"

View File

@@ -95,4 +95,16 @@ describe("<SilenceDetails />", () => {
expect(copy).toHaveBeenCalledTimes(1);
expect(copy).toHaveBeenCalledWith(silence.id);
});
it("Edit silence button is disabled when all alertmanager instances are read-only", () => {
alertStore.data.upstreams.instances[0].readonly = true;
const tree = MountedSilenceDetails();
expect(tree.find("button").prop("disabled")).toBe(true);
tree
.find("button")
.at(0)
.simulate("click");
expect(tree.find(".modal-body")).toHaveLength(0);
});
});