public void ShouldThrowExceptionWhenValueIsNull() { var column = new ImageCarouselColumn { ImageUrl = null }; }
/// <summary> /// カラム追加 /// </summary> /// <param name="title">タイトル</param> /// <param name="text">テキスト</param> /// <param name="thumbnailImageUrl">サムネ画像URL</param> /// <param name="imageBackgroundColor">画像背景色</param> /// <param name="templateActionFactoryService">アクション作成クラス</param> /// <returns></returns> public TemplateImageCarouselColumnFactoryService AddColumn( string imageUri, TemplateActionFactoryService templateActionFactoryService ) { Trace.TraceInformation("Start"); if (!this.RegulateColumnArray()) { Trace.TraceWarning("Regulate Column Array is False"); Trace.TraceInformation("End"); return(this); } ImageCarouselColumn column = new ImageCarouselColumn() { imageUrl = imageUri, action = templateActionFactoryService.Actions[0] }; this.Columns[this.Columns.Length - 1] = column; Trace.TraceInformation("End"); return(this); }
public void ShouldThrowExceptionWhenTemplateActionTypeIsInvalid() { var column = new ImageCarouselColumn(); ExceptionAssert.Throws <NotSupportedException>("The action type is invalid.", () => { column.Action = new TestAction(); }); }
public void ShouldThrowExceptionWhenValueIsNull() { var column = new ImageCarouselColumn(); ExceptionAssert.Throws <InvalidOperationException>("The action cannot be null.", () => { column.Action = null; }); }
public void ShouldThrowExceptionWhenValueIsMoreThan1000Chars() { var column = new ImageCarouselColumn(); ExceptionAssert.Throws <InvalidOperationException>("The image url cannot be longer than 1000 characters.", () => { column.ImageUrl = new Uri("https://foo.bar/" + new string('x', 985)); }); }
public void ShouldThrowExceptionWhenValueIsNotHttps() { var column = new ImageCarouselColumn(); ExceptionAssert.Throws <InvalidOperationException>("The image url should use the https scheme.", () => { column.ImageUrl = new Uri("http://foo.bar"); }); }
public void ShouldThrowExceptionWhenTemplateActionTypeIsInvalid() { var column = new ImageCarouselColumn(); ExceptionAssert.Throws <NotSupportedException>("The template action type is invalid. Supported types are: IPostbackAction, IMessageAction and IUriAction.", () => { column.Action = new TestTemplateAction(); }); }
public void ShouldNotThrowExceptionWhenValueIs1000Chars() { var value = new Uri("https://foo.bar/" + new string('x', 984)); var column = new ImageCarouselColumn() { ImageUrl = value }; Assert.AreEqual(value, column.ImageUrl); }
public void ShouldThrowExceptionWhenActionIsNull() { var column = new ImageCarouselColumn() { ImageUrl = new Uri("https://foo.bar"), }; ExceptionAssert.Throws <InvalidOperationException>("The action cannot be null.", () => { ImageCarouselColumn.Convert(new[] { column }).ToArray(); }); }
public void ShouldThrowExceptionWhenImageUrlIsNull() { var column = new ImageCarouselColumn() { Action = new PostbackAction() }; ExceptionAssert.Throws <InvalidOperationException>("The image url cannot be null.", () => { ImageCarouselColumn.Convert(new[] { column }).ToArray(); }); }
public void ShouldCreateSerializeableObject() { var column = new ImageCarouselColumn { ImageUrl = new Uri("https://foo.bar"), Action = new UriAction() }; var serialized = JsonConvert.SerializeObject(column); Assert.AreEqual(@"{""imageUrl"":""https://foo.bar"",""action"":{""type"":""uri"",""label"":null,""uri"":null}}", serialized); }
public void ShouldNotThrowExceptionWhenValid() { var column = new ImageCarouselColumn() { ImageUrl = new Uri("https://foo.bar"), Action = new PostbackAction() { Data = "Foo", Label = "Bar" } }; column.Validate(); }
public void ShouldThrowExceptionWhenActionIsInvalid() { var column = new ImageCarouselColumn() { ImageUrl = new Uri("https://foo.bar"), Action = new PostbackAction() }; ExceptionAssert.Throws <InvalidOperationException>("The label cannot be null.", () => { column.Validate(); }); }
public void ShouldConvertCustomIImageCarouselColumnToImageCarouselColumn() { var column = new TestImageCarouselColumn(); var columns = ImageCarouselColumn.Convert(new[] { column }).ToArray(); Assert.AreEqual(1, columns.Length); Assert.AreNotEqual(column, columns[0]); var carouselColumn = columns[0] as ImageCarouselColumn; Assert.AreEqual(new Uri("https://carousel.url"), carouselColumn.ImageUrl); var action = carouselColumn.Action as MessageAction; Assert.AreEqual("MessageLabel", action.Label); Assert.AreEqual("MessageText", action.Text); }
public void ShouldPreserveInstanceWhenValueIsImageCarouselColumn() { var column = new ImageCarouselColumn() { ImageUrl = new Uri("https://foo.bar"), Action = new PostbackAction() { Label = "PostbackLabel", Text = "PostbackText", Data = "PostbackData", } }; var columns = ImageCarouselColumn.Convert(new[] { column }).ToArray(); Assert.AreEqual(1, columns.Length); Assert.AreSame(column, columns[0]); }