Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ describe("AddSkillsCollectionComponent", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig()

activatedRoute.setParamMap({ userId: 126 })
activatedRoute.setParams({ userId: 126 })
createComponent(AddSkillsCollectionComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ describe("CollectionFormComponent", () => {
environmentService.environment.editableAuthor = true
AppConfig.settings.editableAuthor = true // Doubly sure

activatedRoute.setParamMap({ uuid: "uuid1" })
activatedRoute.setParams({ uuid: "uuid1" })
createComponent(CollectionFormComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ describe("CollectionPublicComponent", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig()

activatedRoute.setParamMap({ uuid: "uuid1" })
activatedRoute.setParams({ uuid: "uuid1" })
createComponent(CollectionPublicComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ describe("PublishCollectionComponent", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig()

activatedRoute.setParamMap({ uuid: "uuid1" })
activatedRoute.setParams({ uuid: "uuid1" })
createComponent(PublishCollectionComponent)
}))

Expand Down
174 changes: 172 additions & 2 deletions ui/src/app/collection/service/collection.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import { HttpClientTestingModule, HttpTestingController } from "@angular/common/
import { async, TestBed } from "@angular/core/testing"
import { Router } from "@angular/router"
import {
createMockBatchResult,
createMockCollection,
createMockCollectionUpdate,
createMockPaginatedCollections,
createMockPaginatedSkills,
createMockTaskResult
Expand All @@ -15,9 +15,15 @@ import { AppConfig } from "../../app.config"
import { AuthService } from "../../auth/auth-service"
import { EnvironmentService } from "../../core/environment.service"
import { PublishStatus } from "../../PublishStatus"
import { ApiBatchResult, IBatchResult } from "../../richskill/ApiBatchResult"
import { ApiSortOrder } from "../../richskill/ApiSkill"
import { IStringListUpdate } from "../../richskill/ApiSkillUpdate"
import { PaginatedCollections, PaginatedSkills } from "../../richskill/service/rich-skill-search.service"
import {
ApiSearch,
ApiSkillListUpdate,
PaginatedCollections,
PaginatedSkills
} from "../../richskill/service/rich-skill-search.service"
import { ApiTaskResult, ITaskResult } from "../../task/ApiTaskResult"
import { ApiCollection, ApiCollectionUpdate } from "../ApiCollection"
import { CollectionService } from "./collection.service"
Expand Down Expand Up @@ -333,4 +339,168 @@ describe("CollectionService", () => {
expect(req.request.method).toEqual("POST")
req.flush(testData)
})

it("searchCollections should return", () => {
// Arrange
RouterData.commands = []
AuthServiceData.isDown = false
const testData: PaginatedCollections = createMockPaginatedCollections()
const expected = testData
const path = "api/search/collections"
const query = "testQueryString"
const apiSearch = new ApiSearch({ query })
const size = 5
const from = 1
const filter = new Set<PublishStatus>([PublishStatus.Published, PublishStatus.Draft])
const sort = ApiSortOrder.SkillAsc

// Act
const result$ = testService.searchCollections(apiSearch, size, from, filter, sort)

// Assert
result$
.subscribe((data: PaginatedCollections) => {
expect(data).toEqual(expected)
expect(RouterData.commands).toEqual([ ]) // No errors
expect(AuthServiceData.isDown).toEqual(false)
})

const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path +
`?sort=${sort}&status=${PublishStatus.Published}&status=${PublishStatus.Draft}&size=${size}&from=${from}`)
expect(req.request.method).toEqual("POST")
req.flush(testData.collections, {
headers: { "x-total-count": "" + testData.totalCount}
})
})

it("updateSkills should return", () => {
// Arrange
RouterData.commands = []
AuthServiceData.isDown = false
const testData = createMockTaskResult()
const expected = new ApiTaskResult(testData)
const uuid = expected.uuid
const path = "api/collections/" + uuid + "/updateSkills"
const query = "testQueryString"
const update = new ApiSkillListUpdate({
add: new ApiSearch({query}),
remove: new ApiSearch({query})
})
const filter = new Set<PublishStatus>([PublishStatus.Published, PublishStatus.Draft])
const sort = undefined

// Act
const result$ = testService.updateSkills(uuid, update, filter)

// Assert
result$
.subscribe((data: ITaskResult) => {
expect(data).toEqual(expected)
expect(RouterData.commands).toEqual([ ]) // No errors
expect(AuthServiceData.isDown).toEqual(false)
})

const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path +
`?sort=${sort}&status=${PublishStatus.Published}&status=${PublishStatus.Draft}`)
expect(req.request.method).toEqual("POST")
req.flush(testData)
})

// There are 2 REST requests here. Cannot figure out how to get the task request to return the task.
xit("updateSkillsWithResult should return", () => {
Copy link
Contributor

@JohnKallies JohnKallies Sep 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this xit intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the comment says that I had trouble figuring out the 2-request detail. I chose to submit and move on, rather than continue to keep this code laying around. I'll get back to it at some point. You probably knew, but 'xit' just skips the test.

// Arrange
RouterData.commands = []
AuthServiceData.isDown = false
const iTaskResult = createMockTaskResult()
const testData: IBatchResult = createMockBatchResult()
const expected = new ApiBatchResult(testData)
const uuid: string = iTaskResult.uuid ? iTaskResult.uuid : ""
const path = "api/collections/" + uuid + "/updateSkills"
const query = "testQueryString"
const update = new ApiSkillListUpdate({
add: new ApiSearch({query}),
remove: new ApiSearch({query})
})
const filter = new Set<PublishStatus>([PublishStatus.Published, PublishStatus.Draft])
const sort = undefined

// Act
const result$ = testService.updateSkillsWithResult(uuid, update, filter)

// Assert
result$
.subscribe((data: ApiBatchResult) => {
expect(data).toEqual(expected)
expect(RouterData.commands).toEqual([ ]) // No errors
expect(AuthServiceData.isDown).toEqual(false)
})

const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path +
`?sort=${sort}&status=${PublishStatus.Published}&status=${PublishStatus.Draft}`)
expect(req.request.method).toEqual("POST")
req.flush(testData)
})

// There are 2 REST requests here. Cannot figure out how to get the task request to return the task.
xit("publishCollectionWithResult should return", () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This xit also?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, same as above.

// Arrange
RouterData.commands = []
AuthServiceData.isDown = false
const now = new Date()
const iTaskResult = createMockTaskResult()
const testData: IBatchResult = createMockBatchResult()
const expected = new ApiBatchResult(testData)
const path = "api/collections/publish"
const query = "testQueryString"
const apiSearch = new ApiSearch({ query })
const filter = new Set<PublishStatus>([PublishStatus.Draft])
const newStatus = PublishStatus.Published

// Act
const result$ = testService.publishCollectionsWithResult(apiSearch, newStatus, filter)

// Assert
result$
.subscribe((data: ApiBatchResult) => {
expect(data).toEqual(expected)
expect(RouterData.commands).toEqual([ ]) // No errors
expect(AuthServiceData.isDown).toEqual(false)
})

const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path +
`?newStatus=${newStatus}&filterByStatus=${PublishStatus.Draft}`)
expect(req.request.method).toEqual("POST")
req.flush(testData)
})

it("collectionReadyToPublish should return", () => {
// Arrange
RouterData.commands = []
AuthServiceData.isDown = false
const uuid = "f6aacc9e-bfc6-4cc9-924d-c7ef83afef07"
const path = "api/collections/" + uuid + "/skills"
const testData = createMockPaginatedSkills(0, 0)
const expected = true
const size = 1
const from = 0
const sort = undefined

// Act
const result$ = testService.collectionReadyToPublish(uuid)

// Assert
result$
.subscribe((data: boolean) => {
expect(data).toEqual(expected)
expect(RouterData.commands).toEqual([ ]) // No errors
expect(AuthServiceData.isDown).toEqual(false)
})

const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path +
`?sort=${sort}&status=${PublishStatus.Archived}&status=${PublishStatus.Draft}&size=${size}&from=${from}`)
expect(req.request.method).toEqual("POST")
req.flush(testData.skills, {
headers: { "x-total-count": "" + testData.totalCount}
})
})
})
4 changes: 2 additions & 2 deletions ui/src/app/collection/service/collection.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import {map, share} from "rxjs/operators"
import {ApiBatchResult} from "../../richskill/ApiBatchResult"
import {ApiTaskResult, ITaskResult} from "../../task/ApiTaskResult"
import {ApiCollection, ICollection, ICollectionUpdate} from "../ApiCollection"
import {Router} from "@angular/router";
import {Location} from "@angular/common";
import {Router} from "@angular/router"
import {Location} from "@angular/common"

@Injectable({
providedIn: "root"
Expand Down
2 changes: 1 addition & 1 deletion ui/src/app/navigation/abstract-search.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ describe("AbstractSearchComponent", () => {
})
.compileComponents()

activatedRoute.setParamMap({ userId: 126 })
activatedRoute.setParams({ userId: 126 })
createComponent(ConcreteSearchComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ describe("ConcreteComponent", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig() // This avoids the race condition on reading the config's whitelabel.toolName

activatedRoute.setParamMap({ uuid: "126" })
activatedRoute.setParams({ uuid: "126" })
createComponent(ConcreteComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ describe("RichSkillFormComponent (with parameter)", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig()

activatedRoute.setParamMap({ uuid: EXPECTED_UUID })
activatedRoute.setParams({ uuid: EXPECTED_UUID })
createComponent(RichSkillFormComponent)
}))

Expand Down
2 changes: 1 addition & 1 deletion ui/src/app/richskill/import/batch-import.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ describe("BatchImportComponent", () => {

// const environmentService = TestBed.inject(EnvironmentService)

activatedRoute.setParamMap({ userId: 126 })
activatedRoute.setParams({ userId: 126 })
createComponent(BatchImportComponent)
}))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ describe("AdvancedSearchComponent", () => {
const appConfig = TestBed.inject(AppConfig)
AppConfig.settings = appConfig.defaultConfig()

activatedRoute.setParamMap({ userId: 126 })
activatedRoute.setParams({ userId: 126 })
createComponent(AdvancedSearchComponent)
}))

Expand Down
Loading