Skip to content

Commit

Permalink
Feature/36 variable recurring payments for 3 1 8 (#469)
Browse files Browse the repository at this point in the history
* 45: Add VRP generated API and Controllers

Issue: OpenBankingToolkit/openbanking-toolkit#45

* commit before rebase master

* 45: Use latest uk-datamodel with 3.1.8r5 swagger models

Some changes to VRP and Funds Conformation

Issue: OpenBankingToolkit/openbanking-toolkit#45

* Release candidate: prepare release 1.5.6

* Release candidate: prepare for next development iteration

* after rebase master

* 47: vrp consent controllers
- Fix simbols
- Fix Shortcuts annotations in VRP controller interfaces
Issue: OpenBankingToolkit/openbanking-toolkit#47

* 47: VRP consent controllers
- Fix VRP request Mapping controllers annotation
Issue: OpenBankingToolkit/openbanking-toolkit#47

* Intermediate checkin with new 3.1.9r3 datamodels (#462)

Some of the Consent stuff doesn't compile, but the VRP side now
compiling

* 47: vrp consent controllers (#463)

* 47: vrp consent controllers
- First approach to implement the consent controllers
Issue: OpenBankingToolkit/openbanking-toolkit#47

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* 47: vrp payment consent controller (#464)

* 47: vrp consent controllers
- rebase
- First approach to implement the consent controllers
Issue: OpenBankingToolkit/openbanking-toolkit#47

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* 47: vrp payment consent controller
- Updated discovery configuration
- Updated resource link service to introduce the vrp links
- Other improvements for vrp consent
Issue: OpenBankingToolkit/openbanking-toolkit#47

* 48: Develop DomesticVrpApi and controllers

Hand over to Jorge!

Issue: OpenBankingToolkit/openbanking-toolkit#48

* Issue/47 implementation of vrp payment consent controller (#466)

* 47: vrp consent controllers
- rebase
- First approach to implement the consent controllers
Issue: OpenBankingToolkit/openbanking-toolkit#47

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* Delete uk-datamodel snapshot to use the parent snapshot in the development iteration of VRP payments

* Added store IT test

* 36-47: VRP payment consent controller
- Added Integration tests for VRP payment consent
- Few fixes
Issue: OpenBankingToolkit/openbanking-toolkit#47

* 36-47: VRP consent controller flow
- Added implementation to consent details and decision to present data on Bank UI
- Added implementation consent operations (Post, Get, delete)
- Added Integration tests
- Set the proper snapshot dependencies for development iteration on branch 36 (must be updated before merge on master)
Issue: OpenBankingToolkit/openbanking-toolkit#47

* VRP Funds confirmation

* Fix Domestic consent controller constructor to delete unused service

* Fix integration tests for VRP funds confirmation

* 36: Add filters to test vrp Payments risk and initiation

In accord with this spec;
https://openbankinguk.github.io/read-write-api-site3/v3.1.8/resources-and-data-models/vrp/domestic-vrps.html#post-domestic-vrps

Each VRP request need to test that the initiation and risk objects match
those that were provided when the consent was created.

Issue: OpenBankingToolkit/openbanking-toolkit#36

* 36: Further VRP request filters

Add filters to ensure that Creditor is provided in the request if it
doesn't exist in the consent

Issue: OpenBankingToolkit/openbanking-toolkit#36

* 36-48: VRP payment controller validations
Issue: OpenBankingToolkit/openbanking-toolkit#48

* Vrp payment submission controller and integration tests

* vrp payment contrller gateway server implementations

* Fix node version github workflow to build and tests the UIs

* Update version to 1.6.0

* Fix npm tests for VRP payment component

Co-authored-by: JamieB <jamie.bowen@forgerock.com>
Co-authored-by: Jamie Bowen <jpublic@chantrycottage.net>
  • Loading branch information
3 people committed Dec 15, 2021
1 parent d01e39d commit ef3db5f
Show file tree
Hide file tree
Showing 128 changed files with 7,643 additions and 743 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/ui-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: setup node version 10
uses: actions/setup-node@v2
with:
node-version: '10'
- name: Run tests
working-directory: ./forgerock-openbanking-ui
run: |
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: setup node version 10
uses: actions/setup-node@v2
with:
node-version: '10'
- name: Run tests
working-directory: ./forgerock-openbanking-ui
run: |
Expand Down
1,167 changes: 590 additions & 577 deletions CHANGELOG.md

Large diffs are not rendered by default.

8 changes: 7 additions & 1 deletion forgerock-openbanking-ui/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
## Run the app
- bank (default angular app)
- manual-onboarding
### Run local app
### Run local bank app
```shell
# bank app
npm run build.bank.themes
npm run serve.bank.local
```
### Run other scripts (@see package.json)
- `npm run build.{app/project}.themes`
- `npm run serve.{app/project}`
```shell
Expand Down
135 changes: 115 additions & 20 deletions forgerock-openbanking-ui/angular.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"defaultProject": "bank",
"newProjectRoot": "projects",
"projects": {
"bank": {
"root": "projects/bank/",
"sourceRoot": "projects/bank/src",
"projectType": "application",
"prefix": "app",
"schematics": { "@schematics/angular:component": { "styleext": "scss" } },
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
},
"architect": {
"build": {
"builder": "ngx-build-plus:browser",
Expand All @@ -20,10 +23,23 @@
"main": "projects/bank/src/main.ts",
"polyfills": "projects/bank/src/polyfills.ts",
"tsConfig": "projects/bank/tsconfig.app.json",
"assets": ["projects/bank/src/favicon.ico", "projects/bank/src/assets"],
"styles": ["node_modules/cookieconsent/build/cookieconsent.min.css", "projects/bank/src/styles.scss"],
"scripts": ["node_modules/cookieconsent/build/cookieconsent.min.js"],
"stylePreprocessorOptions": { "includePaths": ["utils/scss", "projects/bank/src/scss"] },
"assets": [
"projects/bank/src/favicon.ico",
"projects/bank/src/assets"
],
"styles": [
"node_modules/cookieconsent/build/cookieconsent.min.css",
"projects/bank/src/styles.scss"
],
"scripts": [
"node_modules/cookieconsent/build/cookieconsent.min.js"
],
"stylePreprocessorOptions": {
"includePaths": [
"utils/scss",
"projects/bank/src/scss"
]
},
"es5BrowserSupport": true
},
"configurations": {
Expand All @@ -46,8 +62,26 @@
"statsJson": true,
"es5BrowserSupport": true
},
"local": {
"fileReplacements": [
{
"replace": "projects/bank/src/environments/environment.ts",
"with": "projects/bank/src/environments/environment.local.ts"
}
]
},
"wiremock": {
"fileReplacements": [
{
"replace": "projects/bank/src/environments/environment.ts",
"with": "projects/bank/src/environments/environment.wiremock.ts"
}
]
},
"ui-integ-native": {
"options": { "main": "projects/bank/src/main-native.ts" },
"options": {
"main": "projects/bank/src/main-native.ts"
},
"fileReplacements": [
{
"replace": "projects/bank/src/environments/environment.ts",
Expand Down Expand Up @@ -75,18 +109,46 @@
"sslCert": "ssl/all.dev-ob.forgerock.financial.crt",
"sslKey": "ssl/k-all.dev-ob.forgerock.financial.key"
},
"configurations": { "production": { "browserTarget": "bank:build:production" } }
"configurations": {
"production": {
"browserTarget": "bank:build:production"
},
"local": {
"browserTarget": "bank:build:local"
},
"wiremock": {
"browserTarget": "bank:build:wiremock"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": { "browserTarget": "bank:build" }
"options": {
"browserTarget": "bank:build"
}
},
"test": {
"builder": "@angular-builders/jest:run",
"options": {
"no-cache": true,
"reporters": [
"default"
]
}
},
"test": { "builder": "@angular-builders/jest:run", "options": { "no-cache": true, "reporters": ["default"] } },
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": ["projects/bank/tsconfig.app.json", "projects/bank/tsconfig.spec.json"],
"exclude": ["**/node_modules/**", "projects/@fuse/**", "**/*.spec.ts", "**/*.storybook.ts"]
"tsConfig": [
"projects/bank/tsconfig.app.json",
"projects/bank/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"projects/@fuse/**",
"**/*.spec.ts",
"**/*.storybook.ts"
]
}
}
}
Expand All @@ -96,7 +158,11 @@
"sourceRoot": "projects/manual-onboarding/src",
"projectType": "application",
"prefix": "app",
"schematics": { "@schematics/angular:component": { "styleext": "scss" } },
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
},
"architect": {
"build": {
"builder": "ngx-build-plus:browser",
Expand All @@ -107,13 +173,23 @@
"main": "projects/manual-onboarding/src/main.ts",
"polyfills": "projects/manual-onboarding/src/polyfills.ts",
"tsConfig": "projects/manual-onboarding/tsconfig.app.json",
"assets": ["projects/manual-onboarding/src/favicon.ico", "projects/manual-onboarding/src/assets"],
"assets": [
"projects/manual-onboarding/src/favicon.ico",
"projects/manual-onboarding/src/assets"
],
"styles": [
"node_modules/cookieconsent/build/cookieconsent.min.css",
"projects/manual-onboarding/src/styles.scss"
],
"scripts": ["node_modules/cookieconsent/build/cookieconsent.min.js"],
"stylePreprocessorOptions": { "includePaths": ["utils/scss", "projects/manual-onboarding/src/scss"] },
"scripts": [
"node_modules/cookieconsent/build/cookieconsent.min.js"
],
"stylePreprocessorOptions": {
"includePaths": [
"utils/scss",
"projects/manual-onboarding/src/scss"
]
},
"es5BrowserSupport": true
},
"configurations": {
Expand Down Expand Up @@ -156,21 +232,40 @@
"sslCert": "ssl/all.dev-ob.forgerock.financial.crt",
"sslKey": "ssl/k-all.dev-ob.forgerock.financial.key"
},
"configurations": { "production": { "browserTarget": "manual-onboarding:build:production" } }
"configurations": {
"production": {
"browserTarget": "manual-onboarding:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": { "browserTarget": "manual-onboarding:build" }
"options": {
"browserTarget": "manual-onboarding:build"
}
},
"test": {
"builder": "@angular-builders/jest:run",
"options": {
"no-cache": true,
"reporters": [
"default"
]
}
},
"test": { "builder": "@angular-builders/jest:run", "options": { "no-cache": true, "reporters": ["default"] } },
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/manual-onboarding/tsconfig.app.json",
"projects/manual-onboarding/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**", "projects/@fuse/**", "**/*.spec.ts", "**/*.storybook.ts"]
"exclude": [
"**/node_modules/**",
"projects/@fuse/**",
"**/*.spec.ts",
"**/*.storybook.ts"
]
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions forgerock-openbanking-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"report.bank": "npm run build.bank.forgerock && webpack-bundle-analyzer dist/forgerock/stats.json",
"build.bank.forgerock": "ng build --project=bank --prod --configuration=forgerock --output-path dist/forgerock --statsJson --extra-webpack-config webpack.extra.js",
"build.bank.themes": "openbanking-ui-cli buildThemes --project bank",
"build.bank.wiremock": "ng serve bank -c wiremock",
"build.bank.local": "ng serve bank -c local",
"=================REGISTER APP=================": "",
"bundleSize.manual-onboarding": "openbanking-ui-cli appSize --theme forgerock --project manual-onboarding",
"serve.manual-onboarding": "ng serve manual-onboarding",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { SubmitBoxComponentModule } from '../components/submit-box/submit-box.mo
import { AccountCheckboxModule } from '../components/account-checkbox/account-checkbox.module';

import { AccountComponent } from './account.component';
import {ConsentDecision} from "bank/src/app/types/ConsentDecision";

describe('app:bank AccountComponent', () => {
let component: AccountComponent;
Expand Down Expand Up @@ -55,7 +56,7 @@ describe('app:bank AccountComponent', () => {
fixture.detectChanges();

expect(component.formSubmit.emit).toHaveBeenCalledWith({
decision: 'deny',
decision: ConsentDecision.DENY,
sharedAccounts: []
});
});
Expand All @@ -67,7 +68,7 @@ describe('app:bank AccountComponent', () => {
fixture.detectChanges();

expect(component.formSubmit.emit).toHaveBeenCalledWith({
decision: 'deny',
decision: ConsentDecision.DENY,
sharedAccounts: []
});
});
Expand All @@ -79,7 +80,7 @@ describe('app:bank AccountComponent', () => {
fixture.detectChanges();

expect(component.formSubmit.emit).toHaveBeenCalledWith({
decision: 'allow',
decision: ConsentDecision.ALLOW,
sharedAccounts: []
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export class AccountComponent implements OnInit {
type: ItemType.STRING,
payload: {
label: 'CONSENT.ACCOUNT.APPLICATION',
value: this.response.aispName,
value: this.response.pispName,
cssClass: 'account-merchantName'
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<div>
<div>{{ account.account?.Nickname }}</div>
<div class="secondary-text account-number" *ngIf="account.account?.Account">
{{ (account.account?.Account)[0] | AccountNumberFormat }}
{{ (account.account?.Account)[0] | AccountFormat }}
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<div>
<div>{{ account.account?.Nickname }}</div>
<div class="secondary-text account-number" *ngIf="account.account?.Account">
{{ (account.account?.Account)[0] | AccountNumberFormat }}
{{ (account.account?.Account)[0] | AccountFormat }}
</div>
<div *ngIf="account.balances">
<div class="balance" *ngFor="let balance of account.balances">{{ balance | BalanceFormat }}</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export class CancelComponent implements OnInit {
type: ItemType.STRING,
payload: {
label: 'COMPONENT.CANCEL.APPLICATION',
value: this.response.aispName,
value: this.response.pispName,
cssClass: 'cof-merchantName'
}
}
Expand Down
Loading

0 comments on commit ef3db5f

Please sign in to comment.