Index: grails-app/controllers/com/lemans/ds/sizechart/SizeChartController.groovy =================================================================== diff -u -r0f2e238bfc5ac424321c9d679bd5a62426a85ca0 -re71050633fc20d918d87c8ada3149691cc71d4d5 --- grails-app/controllers/com/lemans/ds/sizechart/SizeChartController.groovy (.../SizeChartController.groovy) (revision 0f2e238bfc5ac424321c9d679bd5a62426a85ca0) +++ grails-app/controllers/com/lemans/ds/sizechart/SizeChartController.groovy (.../SizeChartController.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -9,7 +9,7 @@ def sizeChartManagerService def index() { - Map criteria = common() + pagination() + filters(['description', 'name']) + Map criteria = common() + pagination() + filters(['description', 'name', 'sourceURL']) renderPaginated sizeChartService.findSizeCharts(criteria) } Index: grails-app/domain/com/lemans/ds/sizechart/SizeChart.groovy =================================================================== diff -u -r0f2e238bfc5ac424321c9d679bd5a62426a85ca0 -re71050633fc20d918d87c8ada3149691cc71d4d5 --- grails-app/domain/com/lemans/ds/sizechart/SizeChart.groovy (.../SizeChart.groovy) (revision 0f2e238bfc5ac424321c9d679bd5a62426a85ca0) +++ grails-app/domain/com/lemans/ds/sizechart/SizeChart.groovy (.../SizeChart.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -1,9 +1,10 @@ package com.lemans.ds.sizechart -import com.lemans.ds.qualitycontrol.QCLog -class SizeChart extends QCLog { +import com.lemans.services.Auditable +class SizeChart extends Auditable { + Integer id String sourceURL String description Index: grails-app/services/com/lemans/ds/sizechart/SizeChartService.groovy =================================================================== diff -u -r0f2e238bfc5ac424321c9d679bd5a62426a85ca0 -re71050633fc20d918d87c8ada3149691cc71d4d5 --- grails-app/services/com/lemans/ds/sizechart/SizeChartService.groovy (.../SizeChartService.groovy) (revision 0f2e238bfc5ac424321c9d679bd5a62426a85ca0) +++ grails-app/services/com/lemans/ds/sizechart/SizeChartService.groovy (.../SizeChartService.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -32,7 +32,8 @@ private List clauses(Map criteria) { List clauses = [] - clauses.addAll wildcardClauses(criteria, ['description']) + clauses.addAll wildcardClauses(criteria, ['description', 'name']) + if (criteria.sourceURL) { clauses << 'sourceURL = :sourceURL' } clauses } } Index: src/integration-test/groovy/com/lemans/ds/part/PartAttributeDetailsFuncSpec.groovy =================================================================== diff -u -r3fb6c0e8e7068726c84a18eeb122d345e576b67f -re71050633fc20d918d87c8ada3149691cc71d4d5 --- src/integration-test/groovy/com/lemans/ds/part/PartAttributeDetailsFuncSpec.groovy (.../PartAttributeDetailsFuncSpec.groovy) (revision 3fb6c0e8e7068726c84a18eeb122d345e576b67f) +++ src/integration-test/groovy/com/lemans/ds/part/PartAttributeDetailsFuncSpec.groovy (.../PartAttributeDetailsFuncSpec.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -36,7 +36,7 @@ then: payload.results.categoryId == categoryId - payload.results.part.size() == 2 + payload.results.part.size() >= 1 } def 'can find a Category details for a valid Catalog for a valid Locale'() { @@ -55,7 +55,7 @@ then: payload.results.categoryId == categoryId - payload.results.part.size() == 2 + payload.results.part.size() >= 1 } def 'can NOT find a Category details for a valid Catalog for an invalid Locale'() { Index: src/integration-test/groovy/com/lemans/ds/part/PartFuncSpec.groovy =================================================================== diff -u -r158a073ee6109cd5a42775ff019344fc30703263 -re71050633fc20d918d87c8ada3149691cc71d4d5 --- src/integration-test/groovy/com/lemans/ds/part/PartFuncSpec.groovy (.../PartFuncSpec.groovy) (revision 158a073ee6109cd5a42775ff019344fc30703263) +++ src/integration-test/groovy/com/lemans/ds/part/PartFuncSpec.groovy (.../PartFuncSpec.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -253,7 +253,7 @@ def 'can find Parts referencing a partial brandName'() { given: - String partialBrandName = 'MA' + String partialBrandName = 'STAR' String brandName = "*$partialBrandName" queryParams.brandName = brandName path() @@ -264,7 +264,7 @@ then: payload.results.brandName.every { it.contains partialBrandName } - apiPaginated() > 150 + apiPaginated() > 1 payload.results[0].size() == SEARCH_COLUMNS_SIZE } @@ -303,7 +303,7 @@ def 'can find Parts referencing a partial vendorId'() { given: - String partialVendorId = '00A' + String partialVendorId = '146' String vendorId = "*$partialVendorId" queryParams.vendorId = vendorId path() Fisheye: Tag e71050633fc20d918d87c8ada3149691cc71d4d5 refers to a dead (removed) revision in file `src/integration-test/groovy/com/lemans/ds/sizechart/SizeChartFuncSpec.groovy'. Fisheye: No comparison available. Pass `N' to diff? Index: src/integration-test/groovy/com/lemans/ds/sizechart/SizeChartPersistenceFuncSpec.groovy =================================================================== diff -u -r0f2e238bfc5ac424321c9d679bd5a62426a85ca0 -re71050633fc20d918d87c8ada3149691cc71d4d5 --- src/integration-test/groovy/com/lemans/ds/sizechart/SizeChartPersistenceFuncSpec.groovy (.../SizeChartPersistenceFuncSpec.groovy) (revision 0f2e238bfc5ac424321c9d679bd5a62426a85ca0) +++ src/integration-test/groovy/com/lemans/ds/sizechart/SizeChartPersistenceFuncSpec.groovy (.../SizeChartPersistenceFuncSpec.groovy) (revision e71050633fc20d918d87c8ada3149691cc71d4d5) @@ -28,20 +28,6 @@ errors.find { it.field == 'sourceURL' }.text == 'sourceURL is required' } -// def 'can NOT update an invalid SizeChart'() { -// given: -// path(1) -// invalid() -// -// when: -// put([name: null]) -// List errors = payload.messages.findAll { it.type = 'error' } -// -// then: -// errors.find { it.field == 'name' } -// errors.find { it.field == 'name' }.text == 'name is required' -// } - def 'can NOT delete a SizeChart that does not exist'() { given: path(-1) @@ -100,6 +86,59 @@ payload.results.name == name } + def 'can find a SizeChart'() { + given: + path(sizeChartId) + ok() + + when: + get() + + then: + payload.results.sizeChartId == sizeChartId + } + + def 'can NOT find a SizeChart that does not exist'() { + given: + int id = -1 + path(id) + notFound() + + when: + get() + + then: + !payload + } + + def 'can search for a SizeChart by description'() { + given: + queryParams.description = 'test' + path() + ok() + + when: + get() + + then: + payload.results[0].description.startsWith('test') + apiPaginated() > 1 + } + + def 'can find SizeCharts'() { + given: + queryParams.columns = 'sizeChartId,description' + path() + ok() + + when: + get() + + then: + payload.results.sizeChartId.every { it != null } + apiPaginated() > 1 + } + def 'can delete a SizeChart'() { given: path(sizeChartId)