INFRA: Update everything except React (#312)

This commit is contained in:
David Walker
2023-01-07 23:36:55 -08:00
committed by GitHub
parent 54e8875dd0
commit 0c2d402f0b
23 changed files with 5610 additions and 8083 deletions

View File

@@ -1,72 +0,0 @@
export {};
describe("netscript", () => {
it("Do naviguation", () => {
cy.findByRole("button", { name: "SKIP TUTORIAL" }).click();
cy.findByText("Dev").click();
cy.findByText(/Source-Files/i).click();
cy.findByLabelText(/all-sf-3/i).click();
cy.findByText(/Experience/i).click();
cy.findByText(/Tons of exp/i).click();
cy.findByText(/General/i).click();
cy.findByText(/Hack w0/i).click();
cy.findByText(/SEMPOOL INVALID/i);
cy.findByText(/Many decades/i, { timeout: 15000 });
cy.findByLabelText("enter-bitnode-1").click();
cy.findByText(/Enter BN1.2/i).click();
cy.get("body").type("{esc}");
cy.findByText("Dev").click();
cy.findByText(/Experience/i).click();
cy.findByText(/Tons of exp/i).click();
cy.findByText("Script Editor").click();
cy.findByText(/No Open Files/i);
cy.findByText("Active Scripts").click();
cy.findByText(/Total production since last Augment/i);
cy.findByText("Create Program").click();
cy.findByText(/This page displays/i);
cy.findByText("Stats").click();
cy.findByText(/Current City:/i);
cy.findByText("Factions").click();
cy.findByText(/Lists all/i);
cy.findByText("Augmentations").click();
cy.findByText(/Purchased Augmentations/i);
cy.findByText("Hacknet").click();
cy.findByText(/The Hacknet is a global/i);
cy.findByText("Sleeves").click();
cy.findByText(/Duplicate Sleeves are MK/i);
cy.findByText("City").click();
cy.findByText(/Sector-12/i);
cy.findByLabelText("The Slums").click();
cy.findByText("City").click();
cy.findByLabelText("Powerhouse Gym").click();
cy.findByText("City").click();
cy.findByLabelText("MegaCorp").click();
cy.findByText("Travel").click();
cy.findByText(/Travel Agency/i);
cy.findByText("Stock Market").click();
cy.findByText(/ECorp/i);
cy.findByText("Milestones").click();
cy.findByText(/don't reward you for/i);
cy.findByText("Tutorial").click();
cy.findByText(/Tutorial \/ Documentation/i);
cy.findByText("Options").click();
cy.findByText(/\.script exec time/i);
});
});

View File

@@ -1,51 +0,0 @@
export {};
describe("netscript", () => {
it("creates and runs a NetScript 2.0 script", () => {
cy.findByRole("button", { name: "SKIP TUTORIAL" }).click();
cy.findByRole("textbox").type("connect n00dles{enter}");
cy.findByText(/connected to n00dles/i);
cy.findByRole("textbox").type("run NUKE.exe{enter}");
cy.findByText(/gained root access/i);
cy.findByRole("textbox").type("home{enter}");
cy.findByText(/connected to home/i);
cy.findByRole("textbox").type("nano script.js{enter}");
// monaco can take a bit
cy.findByRole("code", { timeout: 15_000 }).type("{ctrl}a{del}").type(`export const main = async (ns) => {{}
while(true) {{}
await ns.hack("n00dles");`);
cy.findByText("RAM: 1.70GB");
cy.findByRole("button", { name: /Save \(Ctrl\/Cmd \+ s\)/i }).click();
cy.findByRole("button", { name: /Close \(Ctrl\/Cmd \+ b\)/i }).click();
cy.findByRole("textbox").type("run script.js{enter}");
cy.findByText(/Running script with 1 thread/);
cy.findByRole("textbox").type("ps{enter}");
cy.findByText(/\(PID - 1\) script.js/);
});
it("errors and shows a dialog box when static RAM !== dynamic RAM", () => {
cy.findByRole("button", { name: "SKIP TUTORIAL" }).click();
cy.findByRole("textbox").type("nano script.js{enter}");
// monaco can take a bit
cy.findByRole("code", { timeout: 15_000 }).type("{ctrl}a{del}").type(`export const main = async (ns) => {{}
const command = "hack";
ns[command]("n00dles");`);
cy.findByText("RAM: 1.60GB");
cy.findByRole("button", { name: /Save \(Ctrl\/Cmd \+ s\)/i }).click();
cy.findByRole("button", { name: /Close \(Ctrl\/Cmd \+ b\)/i }).click();
cy.findByRole("textbox").type("run script.js{enter}");
cy.findByText(/Dynamic RAM usage calculated to be greater than initial RAM usage on fn: hack./i);
});
});

View File

@@ -1,95 +0,0 @@
export {};
describe("tutorial", () => {
it("completes the tutorial", () => {
cy.findByText(/dark, dystopian future/);
cy.findByRole("button", { name: "next" }).click();
cy.findByText(/heading to the Stats page/);
cy.findByRole("button", { name: "Stats" }).click();
cy.findByText(/lot of important information/);
cy.findByRole("button", { name: "next" }).click();
cy.findByText(/head to your computer's terminal/);
cy.findByRole("button", { name: "Terminal" }).click();
cy.findByText(/is used to interface/);
cy.findByRole("button", { name: "next" }).click();
cy.findByText(/Let's try it out/i);
cy.findByRole("textbox").type("help{enter}");
cy.findByText(/displays a list of all available/i);
cy.findByRole("textbox").type("ls{enter}");
cy.findByText(/is a basic command that shows files/i);
cy.findByRole("textbox").type("scan{enter}");
cy.findByText(/that's great and all/i);
cy.findByRole("textbox").type("scan-analyze{enter}");
cy.findByText(/shows more detailed information/i);
cy.findByRole("textbox").type("scan-analyze 2{enter}");
cy.findByText(/now you can see information/i);
cy.findByRole("textbox").type("connect n00dles{enter}");
cy.findByText(/currency has become digital/i);
cy.findByRole("textbox").type("analyze{enter}");
cy.findByText(/For this server, the required hacking skill/i);
cy.findByText(/Required number of open ports for NUKE/i);
cy.findByRole("textbox").type("run NUKE.exe{enter}");
cy.findByText(/gained root access to n00dles/i);
cy.findByRole("textbox").type("hack{enter}");
cy.findByText(/now attempting to hack the server/i);
cy.findByRole("button", { name: "next" }).click();
cy.findByRole("textbox", { timeout: 15_000 }).should("not.be.disabled").type("home{enter}");
cy.findByRole("textbox").type("nano n00dles.script{enter}");
// monaco can take a bit
cy.findByRole("code", { timeout: 15_000 }).type("{selectall}{del}").type("while(true) {{}{enter}hack('n00dles');");
cy.findByRole("button", { name: /Save \(Ctrl\/Cmd \+ s\)/i }).click();
cy.findByText(/now we'll run the script/i);
cy.findByRole("textbox").type("free{enter}");
cy.findByText(/We have 8GB of free RAM on this machine/i);
cy.findByRole("textbox").type("run n00dles.script{enter}");
cy.findByText(/Your script is now running/i);
cy.findByRole("button", { name: "Active Scripts" }).click();
cy.findByText(/This page displays information about all of your scripts/i);
cy.findByRole("button", { name: "Terminal" }).click();
cy.findByText(/each active script contains logs/i);
cy.findByRole("textbox").type("tail n00dles.script{enter}");
cy.findByText(/The log for this script won't show much/i);
cy.findByRole("button", { name: "next" }).click();
cy.findByText(/Hacking is not the only way to earn money/i);
cy.findByRole("button", { name: "Hacknet" }).click();
cy.findByText(/Here you can purchase new Hacknet Nodes/i);
cy.findByRole("button", { name: /Purchase Hacknet Node/ }).click();
cy.findByText(/You just purchased a Hacknet Node!/i);
cy.findByRole("button", { name: "City" }).click();
cy.findByText(/This page lists all of the different locations/i);
cy.findByRole("button", { name: "Tutorial" }).click();
cy.findByText(/a lot of different documentation about the game/i);
cy.findByRole("button", { name: "FINISH TUTORIAL" }).click();
cy.findByText(/Tutorial \/ Documentation/i);
});
});

View File

@@ -1,21 +0,0 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
module.exports = (/*on, config*/) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
};

View File

@@ -1 +0,0 @@
import "@testing-library/cypress/add-commands";

View File

@@ -1,10 +0,0 @@
export {};
beforeEach(() => {
cy.visit("/", {
onBeforeLoad(win: Cypress.AUTWindow) {
win.indexedDB.deleteDatabase("bitburnerSave");
},
});
cy.clearLocalStorage();
});

View File

@@ -1,21 +0,0 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import "./globalHooks";
import "./commands";
// Alternatively you can use CommonJS syntax:
// require('./commands')

View File

@@ -1,9 +0,0 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"checkJs": true,
"types": ["cypress", "@testing-library/cypress"]
},
"include": ["**/*"],
"exclude": []
}

View File

@@ -4,6 +4,5 @@
"allowJs": true,
"types": ["jest"]
},
"include": ["**/*", "../src/**/*.d.ts"],
"exclude": ["cypress/**/*"]
"include": ["**/*", "../src/**/*.d.ts"]
}