Skip to content

Commit 95578fb

Browse files
committed
Updated mock
Updated previews Updated testing of component
1 parent dc0450d commit 95578fb

File tree

3 files changed

+106
-9
lines changed

3 files changed

+106
-9
lines changed

app/services/cms/providers/strapi/mocks/full_width_banner.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ class FullWidthBanner < StrapiMock
1010
attribute(:backgroundColor) { {name: "white"} }
1111
attribute(:imageSide) { "right" }
1212
attribute(:buttons) { nil }
13+
attribute(:i_belong_flag) { false }
14+
attribute(:corner_flourish) { false }
1315
end
1416
end
1517
end

previews/components/cms/full_width_banner_component_preview.rb

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def default
77
title: "Banner title",
88
background_color: :white,
99
image: Cms::Mocks::Image.as_model,
10-
image_side: :left,
10+
image_side: "left",
1111
image_link: nil,
1212
buttons: []
1313
))
@@ -19,9 +19,35 @@ def with_button
1919
text_content: Cms::Mocks::RichBlocks.as_model,
2020
background_color: :white,
2121
image: Cms::Mocks::Image.as_model,
22-
image_side: :left,
22+
image_side: "left",
2323
image_link: nil,
2424
buttons: [Cms::Mocks::NcceButton.as_model]
2525
))
2626
end
27+
28+
def with_i_belong_flag
29+
render(Cms::FullWidthBannerComponent.new(
30+
title: "Banner title",
31+
text_content: Cms::Mocks::RichBlocks.as_model,
32+
background_color: :white,
33+
image: Cms::Mocks::Image.as_model,
34+
image_side: "right",
35+
image_link: nil,
36+
buttons: [Cms::Mocks::NcceButton.as_model],
37+
i_belong_flag: true
38+
))
39+
end
40+
41+
def with_corner_flourish
42+
render(Cms::FullWidthBannerComponent.new(
43+
title: "Banner title",
44+
text_content: Cms::Mocks::RichBlocks.as_model,
45+
background_color: :white,
46+
image: Cms::Mocks::Image.as_model,
47+
image_side: "left",
48+
image_link: nil,
49+
buttons: [Cms::Mocks::NcceButton.as_model],
50+
corner_flourish: true
51+
))
52+
end
2753
end

spec/components/cms/full_width_banner_component_spec.rb

Lines changed: 76 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
render_inline(described_class.new(
99
text_content: Cms::Mocks::RichBlocks.as_model,
1010
image: Cms::Mocks::Image.as_model,
11-
image_side: :left,
11+
image_side: "left",
1212
image_link: "https://www.teachcomputing.test/test-page",
1313
title: nil,
1414
background_color: "light-grey"
@@ -30,24 +30,37 @@
3030
it "should have link" do
3131
expect(page).to have_link(href: "https://www.teachcomputing.test/test-page")
3232
end
33+
34+
it "has no i belong flag" do
35+
expect(page).to_not have_css(".cms-full-width-banner__media--with-flag")
36+
end
37+
38+
it "has no corner flourish" do
39+
expect(page).to_not have_css(".cms-full-width-banner__media--with-flourish-left")
40+
expect(page).to_not have_css(".cms-full-width-banner__media--with-flourish-right")
41+
end
3342
end
3443

35-
context "with heading" do
44+
context "with heading and right side image" do
3645
let(:title) { Faker::Lorem.sentence }
3746

3847
before do
3948
render_inline(described_class.new(
4049
text_content: Cms::Mocks::RichBlocks.as_model,
4150
image: Cms::Mocks::Image.as_model,
42-
image_side: :left,
51+
image_side: "right",
4352
image_link: nil,
4453
title:
4554
))
4655
end
4756

48-
it "show render heading" do
57+
it "renders the heading" do
4958
expect(page).to have_css(".govuk-heading-l.cms-full-width-banner__heading", text: title)
5059
end
60+
61+
it "renders the image on the right" do
62+
expect(page).to have_css(".right-align")
63+
end
5164
end
5265

5366
context "with border" do
@@ -62,12 +75,12 @@
6275
))
6376
end
6477

65-
it "show render heading" do
78+
it "renders the border" do
6679
expect(page).to have_css(".cms-full-width-banner-row.has-border")
6780
end
6881
end
6982

70-
context "with buttons" do
83+
context "with button" do
7184
before do
7285
render_inline(described_class.new(
7386
text_content: Cms::Mocks::RichBlocks.as_model,
@@ -80,8 +93,64 @@
8093
))
8194
end
8295

83-
it "show render button" do
96+
it "renders the button" do
8497
expect(page).to have_css(".govuk-button")
8598
end
8699
end
100+
101+
context "with i belong flag" do
102+
before do
103+
render_inline(described_class.new(
104+
text_content: Cms::Mocks::RichBlocks.as_model,
105+
image: Cms::Mocks::Image.as_model,
106+
image_side: "left",
107+
image_link: nil,
108+
title: nil,
109+
show_bottom_border: false,
110+
i_belong_flag: true
111+
))
112+
end
113+
114+
it "renders the i belong flag" do
115+
expect(page).to have_css(".cms-full-width-banner__media--with-flag")
116+
end
117+
end
118+
119+
context "with corner flourish on the left" do
120+
before do
121+
render_inline(described_class.new(
122+
text_content: Cms::Mocks::RichBlocks.as_model,
123+
image: Cms::Mocks::Image.as_model,
124+
image_side: "left",
125+
image_link: nil,
126+
title: nil,
127+
show_bottom_border: false,
128+
i_belong_flag: false,
129+
corner_flourish: true
130+
))
131+
end
132+
133+
it "renders the left corner flourish" do
134+
expect(page).to have_css(".cms-full-width-banner__media--with-flourish-left")
135+
end
136+
end
137+
138+
context "with corner flourish on the right" do
139+
before do
140+
render_inline(described_class.new(
141+
text_content: Cms::Mocks::RichBlocks.as_model,
142+
image: Cms::Mocks::Image.as_model,
143+
image_side: "right",
144+
image_link: nil,
145+
title: nil,
146+
show_bottom_border: false,
147+
i_belong_flag: false,
148+
corner_flourish: true
149+
))
150+
end
151+
152+
it "renders the right corner flourish" do
153+
expect(page).to have_css(".cms-full-width-banner__media--with-flourish-right")
154+
end
155+
end
87156
end

0 commit comments

Comments
 (0)