Skip to content

Commit

Permalink
More drastic removal of style overrides
Browse files Browse the repository at this point in the history
  • Loading branch information
ajwl committed Sep 6, 2019
1 parent 30ea054 commit 94b84eb
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 97 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ object Snap {
case Some("latest") =>
Option(LatestSnap.fromTrailAndContent(trail, None))
case Some(snapType) =>
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trail.safeMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trail.safeMeta)
val contentProperties = ContentProperties.fromResolvedMetaData(resolvedMetaData)
Option(LinkSnap(
trail.id,
Expand All @@ -103,7 +103,7 @@ object Snap {
case Some("latest") =>
Option(LatestSnap.fromSupportingItemAndContent(supportingItem, None))
case Some(snapType) =>
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(supportingItem.safeMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(supportingItem.safeMeta)
val contentProperties = ContentProperties.fromResolvedMetaData(resolvedMetaData)
Option(LinkSnap(
supportingItem.id,
Expand Down Expand Up @@ -165,7 +165,7 @@ object LatestSnap {
def fromTrailAndContent(trail: Trail, maybeContent: Option[Content]): LatestSnap = {
val cardStyle: CardStyle = maybeContent.map(CardStyle.apply(_, trail.safeMeta)).getOrElse(DefaultCardstyle)
val resolvedMetaData: ResolvedMetaData =
maybeContent.fold(ResolvedMetaData.fromTrailMetaData(trail.safeMeta))(ResolvedMetaData.fromContentAndTrailMetaData(_, trail.safeMeta, cardStyle))
maybeContent.fold(ResolvedMetaData.getFromTrailMetaData(trail.safeMeta))((content: Content) => ResolvedMetaData.getFromTrailMetaData(trail.safeMeta))
val brandingByEdition = maybeContent map (_.brandingByEdition) getOrElse Map.empty
LatestSnap(
trail.id,
Expand All @@ -189,7 +189,7 @@ object LatestSnap {
def fromSupportingItemAndContent(supportingItem: SupportingItem, maybeContent: Option[Content]): LatestSnap = {
val cardStyle: CardStyle = maybeContent.map(CardStyle.apply(_, supportingItem.safeMeta)).getOrElse(DefaultCardstyle)
val resolvedMetaData: ResolvedMetaData =
maybeContent.fold(ResolvedMetaData.fromTrailMetaData(supportingItem.safeMeta))(ResolvedMetaData.fromContentAndTrailMetaData(_, supportingItem.safeMeta, cardStyle))
maybeContent.fold(ResolvedMetaData.getFromTrailMetaData(supportingItem.safeMeta))((content: Content) => ResolvedMetaData.getFromTrailMetaData(supportingItem.safeMeta))
val brandingByEdition = maybeContent map (_.brandingByEdition) getOrElse Map.empty
LatestSnap(
supportingItem.id,
Expand Down Expand Up @@ -251,7 +251,7 @@ object CuratedContent {
supportingContent: List[FaciaContent],
collectionConfig: CollectionConfig) = {
val cardStyle = CardStyle(content, trailMetaData)
val resolvedMetaData = ResolvedMetaData.fromContentAndTrailMetaData(content, trailMetaData, cardStyle)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaData)

CuratedContent(
content,
Expand Down Expand Up @@ -279,7 +279,7 @@ object CuratedContent {
collectionConfig: CollectionConfig): CuratedContent = {

val cardStyle = CardStyle(content, trailMetaData)
val resolvedMetaData = ResolvedMetaData.fromContentAndTrailMetaData(content, trailMetaData, cardStyle)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaData)

CuratedContent(
content,
Expand Down Expand Up @@ -307,7 +307,7 @@ object SupportingCuratedContent {
maybeFrontPublicationDate: Option[Long],
collectionConfig: CollectionConfig): SupportingCuratedContent = {
val cardStyle = CardStyle(content, trailMetaData)
val resolvedMetaData = ResolvedMetaData.fromContentAndTrailMetaData(content, trailMetaData, cardStyle)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaData)

SupportingCuratedContent(
content,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ object ItemKicker {
}
}

def fromTrailMetaData(trailMeta: MetaDataCommonFields): Option[ItemKicker] = fromContentAndTrail(None, trailMeta, ResolvedMetaData.fromTrailMetaData(trailMeta), None)
def fromTrailMetaData(trailMeta: MetaDataCommonFields): Option[ItemKicker] = fromContentAndTrail(None, trailMeta, ResolvedMetaData.getFromTrailMetaData(trailMeta), None)

def fromMaybeContentTrailMetaAndResolvedMetaData(maybeContent: Option[Content], trailMeta: MetaDataCommonFields, resolvedMetaData: ResolvedMetaData) =
fromContentAndTrail(maybeContent, trailMeta, resolvedMetaData, None)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,33 +55,23 @@ object ResolvedMetaData {
imageSlideshowReplace = trailMeta.imageSlideshowReplace.exists(identity)
)

def fromContent(content: Content, cardStyle: CardStyle): ResolvedMetaData =
cardStyle match {
case com.gu.facia.api.utils.Comment => Default.copy(
showByline = true,
showQuotedHeadline = true)
case _ if isCartoonForContent(content) => Default.copy(showByline = true)
case _ if isVideoForContent(content) => Default.copy(showMainVideo = true)
case _ => Default
}

def fromContentAndTrailMetaData(content: Content, trailMeta: MetaDataCommonFields, cardStyle: CardStyle): ResolvedMetaData = {
val metaDataFromContent = fromContent(content, cardStyle)
metaDataFromContent.copy(
isBreaking = trailMeta.isBreaking.getOrElse(metaDataFromContent.isBreaking),
isBoosted = trailMeta.isBoosted.getOrElse(metaDataFromContent.isBoosted),
imageHide = trailMeta.imageHide.getOrElse(metaDataFromContent.imageHide),
imageReplace = trailMeta.imageReplace.getOrElse(metaDataFromContent.imageReplace),
showKickerSection = trailMeta.showKickerSection.getOrElse(metaDataFromContent.showKickerSection),
showKickerCustom = trailMeta.showKickerCustom.getOrElse(metaDataFromContent.showKickerCustom),
showBoostedHeadline = trailMeta.showBoostedHeadline.getOrElse(metaDataFromContent.showBoostedHeadline),
showMainVideo = trailMeta.showMainVideo.getOrElse(metaDataFromContent.showMainVideo),
showLivePlayable = trailMeta.showLivePlayable.getOrElse(metaDataFromContent.showLivePlayable),
showKickerTag = trailMeta.showKickerTag.getOrElse(metaDataFromContent.showKickerTag),
showByline = trailMeta.showByline.getOrElse(metaDataFromContent.showByline),
imageCutoutReplace = trailMeta.imageCutoutReplace.getOrElse(metaDataFromContent.imageCutoutReplace),
showQuotedHeadline = trailMeta.showQuotedHeadline.getOrElse(metaDataFromContent.showQuotedHeadline),
imageSlideshowReplace = trailMeta.imageSlideshowReplace.getOrElse(metaDataFromContent.imageSlideshowReplace))}
def getFromTrailMetaData(trailMeta: MetaDataCommonFields): ResolvedMetaData = {
Default.copy(
isBreaking = trailMeta.isBreaking.get,
isBoosted = trailMeta.isBoosted.get,
imageHide = trailMeta.imageHide.get,
imageReplace = trailMeta.imageReplace.get,
showKickerSection = trailMeta.showKickerSection.get,
showKickerCustom = trailMeta.showKickerCustom.get,
showBoostedHeadline = trailMeta.showBoostedHeadline.get,
showMainVideo = trailMeta.showMainVideo.get,
showLivePlayable = trailMeta.showLivePlayable.get,
showKickerTag = trailMeta.showKickerTag.get,
showByline = trailMeta.showByline.get,
imageCutoutReplace = trailMeta.imageCutoutReplace.get,
showQuotedHeadline = trailMeta.showQuotedHeadline.get,
imageSlideshowReplace = trailMeta.imageSlideshowReplace.get)
}

def toMap(resolvedMetaData: ResolvedMetaData): Map[String, Boolean] = resolvedMetaData match {
case ResolvedMetaData(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class FaciaImageCutoutTest extends FreeSpec with Matchers with TestContent {

"should return None for imageCutoutReplace=true but nothing to replace with" in {
val trailMeta = trailMetaDataWithImageCutout(true)
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMeta)
val imageCutout = FaciaImage.getFaciaImage(Some(emptyContent), trailMeta, resolvedMetaData)
imageCutout should be (None)
}
Expand All @@ -46,13 +46,13 @@ class FaciaImageCutoutTest extends FreeSpec with Matchers with TestContent {
val height = Option("height")

val trailMetaTrue = trailMetaDataWithImageCutout(true, Option(src), width, height)
val resolvedMetaDataTrue = ResolvedMetaData.fromTrailMetaData(trailMetaTrue)
val resolvedMetaDataTrue = ResolvedMetaData.getFromTrailMetaData(trailMetaTrue)
val imageCutoutTrue = FaciaImage.getFaciaImage(Some(emptyContent), trailMetaTrue, resolvedMetaDataTrue)
imageCutoutTrue.isDefined should be (true)
imageCutoutTrue should be (Some(Cutout(src, width, height)))

val trailMetaFalse = trailMetaDataWithImageCutout(false, Option(src), width, height)
val resolvedMetaDataFalse = ResolvedMetaData.fromTrailMetaData(trailMetaFalse)
val resolvedMetaDataFalse = ResolvedMetaData.getFromTrailMetaData(trailMetaFalse)
val imageCutoutFalse = FaciaImage.getFaciaImage(Some(emptyContent), trailMetaFalse, resolvedMetaDataFalse)
imageCutoutFalse should be (None)
}
Expand All @@ -63,21 +63,21 @@ class FaciaImageCutoutTest extends FreeSpec with Matchers with TestContent {
val height = Option("height")

val trailMeta = trailMetaDataWithImageCutout(true, src, widthNone, height)
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMeta)
val imageCutout = FaciaImage.getFaciaImage(Some(emptyContent), trailMeta, resolvedMetaData)
imageCutout should be (None)
}

"should return an Image of type cutout from content tags" in {
val trailMeta = trailMetaDataWithImageCutout(true, None, None, None)
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMeta)
val imageCutout = FaciaImage.getFaciaImage(Some(contentWithContributor), trailMeta, resolvedMetaData)
imageCutout should be (Some(Cutout(bylineImageUrl, None, None)))
}

"should not return an Image of type cutout from content tags if imageCutoutReplace is false" in {
val trailMeta = trailMetaDataWithImageCutout(false, None, None, None)
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMeta)
val imageCutout = FaciaImage.getFaciaImage(Some(contentWithContributor), trailMeta, resolvedMetaData)
imageCutout should be (None)
}
Expand All @@ -88,7 +88,7 @@ class FaciaImageCutoutTest extends FreeSpec with Matchers with TestContent {
val height = Option("height")

val trailMeta = trailMetaDataWithImageCutout(true, src, width, height)
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMeta)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMeta)
val imageCutout = FaciaImage.getFaciaImage(None, trailMeta, resolvedMetaData)
imageCutout should be (Some(Cutout("src", width, height)))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ class FaciaImageReplaceTest extends FlatSpec with Matchers {


"Image" should "give an Image of type default when it is not set" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithoutImageReplace)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithoutImageReplace)
FaciaImage.getFaciaImage(None, trailMetaDataWithoutImageReplace, resolvedMetaData) should be (None)
}

it should "give back an Image when true" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithImageReplace)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithImageReplace)
FaciaImage.getFaciaImage(None, trailMetaDataWithImageReplace, resolvedMetaData) should be (Some(Replace("theImageSrc", "theImageSrcWidth", "theImageSrcHeight")))
}

it should "give back an ImageSource when imageSource present in metadata" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithImageSource)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithImageSource)
FaciaImage.getFaciaImage(None, trailMetaDataWithImageSource, resolvedMetaData) should be (Some(Replace("theImageSrcAsset", "500", "300")))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@ class FaciaImageSlideshowTest extends FlatSpec with Matchers {
"slideshow" -> JsArray(Nil)))

"Image" should "give a None if when imageSlideshowReplace not set" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithoutImageSlideshowReplace)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithoutImageSlideshowReplace)
FaciaImage.getFaciaImage(None, trailMetaDataWithoutImageSlideshowReplace, resolvedMetaData) should be (None)
}

it should "give back an ImageGallery when true" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithImageSlideshowReplace)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithImageSlideshowReplace)
FaciaImage.getFaciaImage(None, trailMetaDataWithImageSlideshowReplace, resolvedMetaData) should be (Some(ImageSlideshow(List(Replace("theImageSrcOne", "theImageSrcWidthOne", "theImageSrcHeightOne"), Replace("theImageSrcTwo", "theImageSrcWidthTwo", "theImageSrcHeightTwo"), Replace("theImageSrcThree", "theImageSrcWidthThree", "theImageSrcHeightThree")))))
}

it should "give back a None when imageSlideshowReplace true with no assets" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithImageSlideshowReplaceAndNoAssets)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithImageSlideshowReplaceAndNoAssets)
FaciaImage.getFaciaImage(None, trailMetaDataWithImageSlideshowReplaceAndNoAssets, resolvedMetaData) should be (None)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,50 +43,10 @@ class ResolvedMetaDataTest extends FreeSpec with Matchers with TestContent {
"showQuotedHeadline" -> JsBoolean(false),
"imageCutoutReplace" -> JsBoolean(false)))

"Resolving Metadata using fromContent" - {

"Content with type cartoon should showByline" in {
val resolvedMetaData = ResolvedMetaData.fromContent(contentWithCartoon, DefaultCardstyle)
resolvedMetaData should have (
'showByline (true))
}

"Content with type comment should showByline, showQuotedHeadline and imageCutoutReplace" in {
val resolvedMetaData = ResolvedMetaData.fromContent(contentWithComment, Comment)
resolvedMetaData should have (
'showByline (true),
'showQuotedHeadline (true),
'imageCutoutReplace (true))
}

"Content with type video should showMainVideo" in {
val resolvedMetaData = ResolvedMetaData.fromContent(contentWithVideo, DefaultCardstyle)
resolvedMetaData should have (
'showMainVideo (true))
}

"Content with silly type should all false" in {
val contentWithVideo = contentWithTags(tagWithId("sillyid"))
val resolvedMetaData = ResolvedMetaData.fromContent(contentWithVideo, DefaultCardstyle)
resolvedMetaData should have (
'showByline (false),
'showQuotedHeadline (false),
'imageCutoutReplace (false),
'showMainVideo (false),
'isBoosted (false),
'isBreaking (false),
'imageHide (false),
'imageReplace (false),
'showKickerCustom (false),
'showKickerSection (false),
'showKickerTag (false))
}
}

"Resolving Metadata using fromTrailMetaData" - {

"Resolve all to false for empty TrailMetaData" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(emptyTrailMetaData)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(emptyTrailMetaData)
resolvedMetaData should have (
'showByline (false),
'showQuotedHeadline (false),
Expand All @@ -102,7 +62,7 @@ class ResolvedMetaDataTest extends FreeSpec with Matchers with TestContent {
}

"Resolve all to true for empty TrailMetaData" in {
val resolvedMetaData = ResolvedMetaData.fromTrailMetaData(trailMetaDataWithFieldsSetTrue)
val resolvedMetaData = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithFieldsSetTrue)
resolvedMetaData should have (
'showByline (true),
'showQuotedHeadline (true),
Expand All @@ -122,47 +82,47 @@ class ResolvedMetaDataTest extends FreeSpec with Matchers with TestContent {
"Resolving Metadata using fromContentAndTrailMetaData" - {

"should resolve correct for cartoon when trailMetaData is not set" in {
val resolvedCartoon = ResolvedMetaData.fromContentAndTrailMetaData(contentWithCartoon, emptyTrailMetaData, DefaultCardstyle)
val resolvedCartoon = ResolvedMetaData.getFromTrailMetaData(emptyTrailMetaData)
resolvedCartoon should have (
'showByline (true))
}

"should resolve correct for comment when trailMetaData is not set" in {
val resolvedComment = ResolvedMetaData.fromContentAndTrailMetaData(contentWithComment, emptyTrailMetaData, Comment)
val resolvedComment = ResolvedMetaData.getFromTrailMetaData(emptyTrailMetaData)
resolvedComment should have (
'showByline (true),
'showQuotedHeadline (true),
'imageCutoutReplace (true))
}

"should resolve correct for video when trailMetaData is not set" in {
val resolvedVideo = ResolvedMetaData.fromContentAndTrailMetaData(contentWithVideo, emptyTrailMetaData, DefaultCardstyle)
val resolvedVideo = ResolvedMetaData.getFromTrailMetaData(emptyTrailMetaData)
resolvedVideo should have (
'showMainVideo (true))
}

"should resolve correct for video with Atom" in {
val resolvedVideo = ResolvedMetaData.fromContentAndTrailMetaData(contentWithAtom, emptyTrailMetaData, DefaultCardstyle)
val resolvedVideo = ResolvedMetaData.getFromTrailMetaData(emptyTrailMetaData)
resolvedVideo should have(
'showMainVideo (true))
}

"should resolve correct for cartoon when trailMetaData IS set" in {
val resolvedCartoon = ResolvedMetaData.fromContentAndTrailMetaData(contentWithCartoon, trailMetaDataWithFieldsSetFalse, DefaultCardstyle)
val resolvedCartoon = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithFieldsSetFalse)
resolvedCartoon should have (
'showByline (false))
}

"should resolve correct for comment when trailMetaData IS set" in {
val resolvedComment = ResolvedMetaData.fromContentAndTrailMetaData(contentWithComment, trailMetaDataWithFieldsSetFalse, DefaultCardstyle)
val resolvedComment = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithFieldsSetFalse)
resolvedComment should have (
'showByline (false),
'showQuotedHeadline (false),
'imageCutoutReplace (false))
}

"should resolve correct for video when trailMetaData IS set" in {
val resolvedVideo = ResolvedMetaData.fromContentAndTrailMetaData(contentWithVideo, trailMetaDataWithFieldsSetFalse, DefaultCardstyle)
val resolvedVideo = ResolvedMetaData.getFromTrailMetaData(trailMetaDataWithFieldsSetFalse)
resolvedVideo should have (
'showMainVideo (false))
}
Expand Down

0 comments on commit 94b84eb

Please sign in to comment.