Skip to content

Commit 4cd07e9

Browse files
Merge pull request #2508 from FarmBot/staging
v15.22.1
2 parents 42ee355 + e62ecf6 commit 4cd07e9

21 files changed

Lines changed: 294 additions & 179 deletions

File tree

.circleci/config.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,22 @@ commands:
5959
if sudo docker compose run --rm web bash -lc '\
6060
gem install bundler && \
6161
bundle install && \
62-
bun install && \
62+
bun install \
63+
'; then
64+
echo "export SETUP_OK=true" >> "$BASH_ENV"
65+
else
66+
echo "export SETUP_OK=false" >> "$BASH_ENV"
67+
exit 1
68+
fi
69+
- run:
70+
name: Run setup tasks
71+
command: |
72+
if [ "$SETUP_OK" != "true" ]; then
73+
echo "export SETUP_OK=false" >> "$BASH_ENV"
74+
exit 1
75+
fi
76+
77+
if sudo docker compose run --rm web bash -lc '\
6378
bundle exec rails db:create && \
6479
bundle exec rails db:migrate && \
6580
bundle exec rake keys:generate \

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ GEM
201201
prism (>= 1.3.0)
202202
rdoc (>= 4.0.0)
203203
reline (>= 0.4.2)
204-
json (2.18.1)
204+
json (2.19.1)
205205
jsonapi-renderer (0.2.2)
206206
jwt (3.1.2)
207207
base64
@@ -352,7 +352,7 @@ GEM
352352
responders (3.2.0)
353353
actionpack (>= 7.0)
354354
railties (>= 7.0)
355-
retriable (3.2.1)
355+
retriable (3.4.1)
356356
rexml (3.4.4)
357357
rollbar (3.7.0)
358358
rspec (3.13.2)
@@ -415,7 +415,7 @@ GEM
415415
thor (1.5.0)
416416
thwait (0.2.0)
417417
e2mmap
418-
timeout (0.6.0)
418+
timeout (0.6.1)
419419
trailblazer-option (0.1.2)
420420
tsort (0.2.0)
421421
tzinfo (2.0.6)

bun.lock

Lines changed: 185 additions & 111 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/__test_support__/bun_test_setup.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ const resetThreeFiberHookMocks = () => {
238238
beforeEach(() => {
239239
bunJest.clearAllMocks();
240240
resetThreeFiberHookMocks();
241+
location.search = "";
241242
resetMutableFixture(auth, authBaseline);
242243
resetMutableFixture(bot, botBaseline);
243244
resetMutableFixture(config, configBaseline);

frontend/farm_designer/__tests__/index_test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ describe("<FarmDesigner />", () => {
4343

4444
beforeEach(() => {
4545
setWindowWidth(1000);
46-
location.search = "";
4746
lastLegendProps = undefined;
4847
lastGardenMapProps = undefined;
4948
editSpy = jest.spyOn(crud, "edit").mockImplementation(jest.fn());

frontend/farm_designer/map/__tests__/util_test.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,6 @@ afterEach(() => {
6666
});
6767

6868
describe("round()", () => {
69-
beforeEach(() => {
70-
jest.clearAllMocks();
71-
mockIsMobile = false;
72-
mockState = fakeState();
73-
location.search = "";
74-
});
75-
7669
it("rounds a number", () => {
7770
expect(round(44)).toEqual(40);
7871
expect(round(98)).toEqual(100);

frontend/help/documentation/__tests__/software_test.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ import { SoftwareDocsPanel } from "../software";
44
import { ExternalUrl } from "../../../external_urls";
55

66
describe("<SoftwareDocsPanel />", () => {
7-
beforeEach(() => {
8-
location.search = "";
9-
});
10-
117
it("renders software docs", () => {
8+
location.search = "";
129
const { container } = render(<SoftwareDocsPanel />);
1310
expect(container.querySelector("iframe")?.getAttribute("src"))
1411
.toEqual(ExternalUrl.softwareDocs);

frontend/photos/camera_calibration/__tests__/index_test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ describe("<CameraCalibration/>", () => {
155155
const p = fakeProps();
156156
p.wDEnv = { CAMERA_CALIBRATION_easy_calibration: SPECIAL_VALUES.FALSE };
157157
render(<CameraCalibration {...p} />);
158-
fireEvent.click(screen.getByRole("checkbox", { hidden: true }));
158+
fireEvent.click(screen.getByRole("checkbox"));
159159
expect(p.saveFarmwareEnv).toHaveBeenCalledWith(
160160
"CAMERA_CALIBRATION_easy_calibration", "\"TRUE\"",
161161
);
@@ -165,7 +165,7 @@ describe("<CameraCalibration/>", () => {
165165
const p = fakeProps();
166166
p.wDEnv = { CAMERA_CALIBRATION_easy_calibration: SPECIAL_VALUES.TRUE };
167167
render(<CameraCalibration {...p} />);
168-
fireEvent.click(screen.getByRole("checkbox", { hidden: true }));
168+
fireEvent.click(screen.getByRole("checkbox"));
169169
expect(p.saveFarmwareEnv).toHaveBeenCalledWith(
170170
"CAMERA_CALIBRATION_easy_calibration", "\"FALSE\"",
171171
);

frontend/photos/capture_settings/__tests__/camera_selection_test.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,7 @@ describe("<CameraSelection />", () => {
5454
it("stores config in API", () => {
5555
const p = fakeProps();
5656
render(<CameraSelection {...p} />);
57-
fireEvent.click(screen.getByRole("button", {
58-
name: /change camera/i,
59-
hidden: true,
60-
}));
57+
fireEvent.click(screen.getByRole("button", { name: /change camera/i }));
6158
expect(p.saveFarmwareEnv).toHaveBeenCalledWith("camera", "\"mycamera\"");
6259
});
6360
});

frontend/photos/capture_settings/__tests__/capture_size_selection_test.tsx

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -112,17 +112,12 @@ describe("<CaptureSizeSelection />", () => {
112112
p.env = { take_photo_width: "200", take_photo_height: "100" };
113113
render(<CaptureSizeSelection {...p} />);
114114
expect(screen.getByTestId("selected-size")).toHaveTextContent("custom");
115-
fireEvent.click(screen.getByRole("button", {
116-
name: /select custom/i,
117-
hidden: true,
118-
}));
115+
fireEvent.click(screen.getByRole("button", { name: /select custom/i }));
119116
expect(p.saveFarmwareEnv).not.toHaveBeenCalled();
120-
const sizeInputs = screen.queryAllByRole("spinbutton", {
121-
hidden: true,
122-
});
117+
const sizeInputs = screen.queryAllByRole("spinbutton");
123118
const [widthInput, heightInput] = sizeInputs.length >= 2
124119
? sizeInputs
125-
: screen.getAllByRole("textbox", { hidden: true });
120+
: screen.getAllByRole("textbox");
126121
fireEvent.focus(widthInput);
127122
fireEvent.change(widthInput, {
128123
target: { value: "400" },
@@ -150,10 +145,7 @@ describe("<CaptureSizeSelection />", () => {
150145
p.env = {};
151146
render(<CaptureSizeSelection {...p} />);
152147
expect(screen.getByTestId("selected-size")).toHaveTextContent("640x480");
153-
fireEvent.click(screen.getByRole("button", {
154-
name: /select 320x240/i,
155-
hidden: true,
156-
}));
148+
fireEvent.click(screen.getByRole("button", { name: /select 320x240/i }));
157149
expect(p.saveFarmwareEnv).toHaveBeenCalledWith("take_photo_width", "320");
158150
expect(p.saveFarmwareEnv).toHaveBeenCalledWith("take_photo_height", "240");
159151
});
@@ -169,7 +161,6 @@ describe("<CaptureSizeSelection />", () => {
169161
expect(screen.getByTestId("selected-size")).toHaveTextContent(selection);
170162
fireEvent.click(screen.getByRole("button", {
171163
name: new RegExp(`select ${selection}`),
172-
hidden: true,
173164
}));
174165
expect(p.saveFarmwareEnv).toHaveBeenCalledWith(
175166
"take_photo_width", "" + expectedWidth);

0 commit comments

Comments
 (0)