ccs-digitalmarketplace-frameworks 4.0.14 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,20 @@
1
1
  -
2
2
  name: Award question - Capability and capacity
3
+ slug: capability-capacity
3
4
  editable: True
4
5
  questions:
5
6
  - multiqDemonstrateCapabilityAndCapacity
6
7
 
7
8
  -
8
9
  name: Award question - Quality and innovation
10
+ slug: quality-innovation
9
11
  editable: True
10
12
  questions:
11
13
  - multiqDemonstrateQualityAndInnovation
12
14
 
13
15
  -
14
16
  name: Award question - Continuous improvement and knowledge transfer
17
+ slug: continuous-improvement-and-knowledge-transfer
15
18
  editable: True
16
19
  questions:
17
20
  - multiqContinuousImprovementAndKnowledgeTransfer
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccs-digitalmarketplace-frameworks",
3
- "version": "4.0.14",
3
+ "version": "4.1.0",
4
4
  "description": "Data files for Digital Marketplace’s procurement frameworks",
5
5
  "repository": "git@github.com:Crown-Commercial-Service/ccs-digitalmarketplace-frameworks",
6
6
  "author": "enquiries@digitalmarketplace.service.gov.uk"
@@ -0,0 +1,75 @@
1
+ import glob
2
+
3
+ import pytest
4
+
5
+ from dmcontent import ContentLoader
6
+ from dmcontent.errors import ContentNotFoundError
7
+
8
+ content = ContentLoader('./')
9
+
10
+
11
+ EXCLUDED_FRAMEWORKS = [
12
+ 'digital-outcomes-and-specialists',
13
+ 'digital-outcomes-and-specialists-2',
14
+ 'digital-outcomes-and-specialists-3',
15
+ 'digital-outcomes-and-specialists-4',
16
+ 'digital-outcomes-and-specialists-5',
17
+ 'g-cloud-6',
18
+ 'g-cloud-7',
19
+ 'g-cloud-8',
20
+ 'g-cloud-9',
21
+ 'g-cloud-10',
22
+ 'g-cloud-11',
23
+ 'g-cloud-12',
24
+ ]
25
+
26
+
27
+ def get_evaluation_manifests():
28
+ paths = glob.glob('frameworks/*')
29
+ for path in paths:
30
+ _, framework = path.split('/')
31
+ if framework in EXCLUDED_FRAMEWORKS:
32
+ continue
33
+
34
+ try:
35
+ content.load_manifest(
36
+ framework,
37
+ 'additional-lot-questions',
38
+ 'edit_additional_lot_questions'
39
+ )
40
+ content.load_manifest(
41
+ framework,
42
+ 'additional-lot-questions',
43
+ 'evaluations'
44
+ )
45
+ except ContentNotFoundError:
46
+ continue
47
+
48
+ for framework, framework_manifests in content._content.items():
49
+ if (
50
+ 'edit_additional_lot_questions' not in framework_manifests
51
+ or 'evaluations' not in framework_manifests
52
+ ):
53
+ continue
54
+
55
+ yield (
56
+ framework,
57
+ framework_manifests['edit_additional_lot_questions'],
58
+ framework_manifests['evaluations']
59
+ )
60
+
61
+
62
+ @pytest.mark.parametrize(
63
+ ('framework', 'additional_lot_questions_manifest', 'evaluations_manifest'),
64
+ get_evaluation_manifests()
65
+ )
66
+ def test_sections_have_the_same_slugs_for_evaluation(
67
+ framework,
68
+ additional_lot_questions_manifest,
69
+ evaluations_manifest
70
+ ):
71
+ assert [
72
+ section['slug'] for section in additional_lot_questions_manifest
73
+ ] == [
74
+ section['slug'] for section in evaluations_manifest
75
+ ], f"Evaluation sections do not slign for {framework}"