feat: initial project prototype #2

Merged
naomi merged 14 commits from feat/init into main 2025-02-17 14:03:33 -08:00
25 changed files with 3 additions and 746 deletions
Showing only changes of commit 30d9185d3a - Show all commits

View File

@ -41,4 +41,4 @@ jobs:
run: pnpm run build
- name: Run Tests
run: CHROME_BIN=/usr/bin/google-chrome pnpm run test
run: pnpm run test

View File

@ -19,7 +19,7 @@
"polyfills": [
"zone.js"
],
"tsConfig": "tsconfig.app.json",
"tsConfig": "tsconfig.json",
"assets": [
{
"glob": "**/*",
@ -69,26 +69,6 @@
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n"
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"zone.js",
"zone.js/testing"
],
"tsConfig": "tsconfig.spec.json",
"assets": [
{
"glob": "**/*",
"input": "public"
}
],
"styles": [
"src/styles.css"
],
"scripts": []
}
}
}
}

View File

@ -19,11 +19,4 @@ export default [
"@typescript-eslint/consistent-type-imports": "off"
},
},
{
files: ["**/*.spec.ts"],
rules: {
"no-undef": "off",
"@typescript-eslint/init-declarations": "off"
}
}
]

View File

@ -6,7 +6,7 @@
"dev": "ng dev",
"lint": "eslint src --max-warnings 0",
"build": "ng build",
"test": "CHROME_BIN=/usr/bin/google-chrome ng test --no-watch --no-progress --browsers=ChromeHeadless"
"test": "echo \"Error: no test specified\" && exit 0"
},
"private": true,
"dependencies": {

View File

@ -1,21 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { TestBed } from "@angular/core/testing";
import { ApiService } from "./api.service";
describe("ApiService", () => {
let service: ApiService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(ApiService);
});
it("should be created", () => {
expect(service).toBeTruthy();
});
});

View File

@ -1,37 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { TestBed } from "@angular/core/testing";
import { AppComponent } from "./app.component";
describe("AppComponent", () => {
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ AppComponent ],
}).compileComponents();
});
it("should create the app", () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.componentInstance;
expect(app).toBeTruthy();
});
it(`should have the 'client' title`, () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.componentInstance;
expect(app.title).toEqual("client");
});
it("should render title", () => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.nativeElement as HTMLElement;
expect(
compiled.querySelector("h1")?.textContent,
).toContain("Hello, client");
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { ConsentComponent } from "./consent.component";
describe("ConsentComponent", () => {
let component: ConsentComponent;
let fixture: ComponentFixture<ConsentComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ ConsentComponent, ReactiveFormsModule ],
}).
compileComponents();
fixture = TestBed.createComponent(ConsentComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,27 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ErrorComponent } from "./error.component";
describe("ErrorComponent", () => {
let component: ErrorComponent;
let fixture: ComponentFixture<ErrorComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ ErrorComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(ErrorComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,52 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { CheckboxComponent } from "../../inputs/checkbox/checkbox.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SelectMenuComponent }
from "../../inputs/select-menu/select-menu.component";
import { SingleLineComponent }
from "../../inputs/single-line/single-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { AppealComponent } from "./appeal.component";
describe("AppealComponent", () => {
let component: AppealComponent;
let fixture: ComponentFixture<AppealComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ AppealComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
CheckboxComponent,
SingleLineComponent,
SelectMenuComponent,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(AppealComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,44 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { CommissionComponent } from "./commission.component";
describe("CommissionComponent", () => {
let component: CommissionComponent;
let fixture: ComponentFixture<CommissionComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ CommissionComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(CommissionComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,44 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { ContactComponent } from "./contact.component";
describe("ContactComponent", () => {
let component: ContactComponent;
let fixture: ComponentFixture<ContactComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ ContactComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(ContactComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,49 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { CheckboxComponent } from "../../inputs/checkbox/checkbox.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SingleLineComponent }
from "../../inputs/single-line/single-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { EventComponent } from "./event.component";
describe("EventComponent", () => {
let component: EventComponent;
let fixture: ComponentFixture<EventComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ EventComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
CheckboxComponent,
SingleLineComponent,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(EventComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,49 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { CheckboxComponent } from "../../inputs/checkbox/checkbox.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SelectMenuComponent }
from "../../inputs/select-menu/select-menu.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { MeetingComponent } from "./meeting.component";
describe("MeetingComponent", () => {
let component: MeetingComponent;
let fixture: ComponentFixture<MeetingComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ MeetingComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
CheckboxComponent,
SelectMenuComponent,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(MeetingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,46 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { CheckboxComponent } from "../../inputs/checkbox/checkbox.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { MentorshipComponent } from "./mentorship.component";
describe("MentorshipComponent", () => {
let component: MentorshipComponent;
let fixture: ComponentFixture<MentorshipComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ MentorshipComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
CheckboxComponent,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(MentorshipComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,52 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ConsentComponent } from "../../consent/consent.component";
import { ErrorComponent } from "../../error/error.component";
import { CheckboxComponent } from "../../inputs/checkbox/checkbox.component";
import { MultiLineComponent }
from "../../inputs/multi-line/multi-line.component";
import { SelectMenuComponent }
from "../../inputs/select-menu/select-menu.component";
import { SingleLineComponent }
from "../../inputs/single-line/single-line.component";
import { SuccessComponent } from "../../success/success.component";
import { UserinfoComponent } from "../../userinfo/userinfo.component";
import { StaffComponent } from "./staff.component";
describe("StaffComponent", () => {
let component: StaffComponent;
let fixture: ComponentFixture<StaffComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ StaffComponent,
RouterModule,
CommonModule,
ConsentComponent,
UserinfoComponent,
ErrorComponent,
ReactiveFormsModule,
CheckboxComponent,
SingleLineComponent,
SelectMenuComponent,
MultiLineComponent,
SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(StaffComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { RouterModule } from "@angular/router";
import { HomeComponent } from "./home.component";
describe("HomeComponent", () => {
let component: HomeComponent;
let fixture: ComponentFixture<HomeComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ HomeComponent, RouterModule ],
}).
compileComponents();
fixture = TestBed.createComponent(HomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { CheckboxComponent } from "./checkbox.component";
describe("CheckboxComponent", () => {
let component: CheckboxComponent;
let fixture: ComponentFixture<CheckboxComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ CheckboxComponent, ReactiveFormsModule ],
}).
compileComponents();
fixture = TestBed.createComponent(CheckboxComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { MultiLineComponent } from "./multi-line.component";
describe("MultiLineComponent", () => {
let component: MultiLineComponent;
let fixture: ComponentFixture<MultiLineComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ MultiLineComponent, ReactiveFormsModule ],
}).
compileComponents();
fixture = TestBed.createComponent(MultiLineComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { SelectMenuComponent } from "./select-menu.component";
describe("SelectMenuComponent", () => {
let component: SelectMenuComponent;
let fixture: ComponentFixture<SelectMenuComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ SelectMenuComponent, ReactiveFormsModule ],
}).
compileComponents();
fixture = TestBed.createComponent(SelectMenuComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { SingleLineComponent } from "./single-line.component";
describe("SingleLineComponent", () => {
let component: SingleLineComponent;
let fixture: ComponentFixture<SingleLineComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ SingleLineComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(SingleLineComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,39 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { CommonModule } from "@angular/common";
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { ErrorComponent } from "../error/error.component";
import { SingleLineComponent }
from "../inputs/single-line/single-line.component";
import { ReviewComponent } from "./review.component";
describe("ReviewComponent", () => {
let component: ReviewComponent;
let fixture: ComponentFixture<ReviewComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ ReviewComponent,
CommonModule,
ReactiveFormsModule,
RouterModule,
SingleLineComponent,
ErrorComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(ReviewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,28 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { SuccessComponent } from "./success.component";
describe("SuccessComponent", () => {
let component: SuccessComponent;
let fixture: ComponentFixture<SuccessComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ SuccessComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(SuccessComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,30 +0,0 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { type ComponentFixture, TestBed } from "@angular/core/testing";
import { SingleLineComponent }
from "../inputs/single-line/single-line.component";
import { UserinfoComponent } from "./userinfo.component";
describe("UserinfoComponent", () => {
let component: UserinfoComponent;
let fixture: ComponentFixture<UserinfoComponent>;
beforeEach(async() => {
await TestBed.configureTestingModule({
imports: [ UserinfoComponent, SingleLineComponent ],
}).
compileComponents();
fixture = TestBed.createComponent(UserinfoComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,15 +0,0 @@
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": [],
},
"files": [
"src/main.ts"
],
"include": [
"src/**/*.d.ts"
]
}

View File

@ -1,15 +0,0 @@
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/spec",
"types": [
"jasmine"
]
},
"include": [
"src/**/*.spec.ts",
"src/**/*.d.ts"
]
}