예제 #1
0
                public async Task ShouldReturnTheInstance()
                {
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var httpClient = TestHttpClient.Create();
                    var bot        = TestConfiguration.CreateBot(httpClient);

                    var result = await bot.DeleteRichMenu(richMenuResponse);

                    Assert.AreSame(bot, result);
                }
예제 #2
0
                public async Task ShouldThrowExceptionWhenRichMenuIdIsEmpty()
                {
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = string.Empty
                    };

                    var bot = TestConfiguration.CreateBot();

                    await ExceptionAssert.ThrowsArgumentEmptyExceptionAsync("richMenuId", async() =>
                    {
                        await bot.SetDefaultMenu(richMenuResponse);
                    });
                }
예제 #3
0
                public async Task ShouldThrowExceptionWhenUserIsNull()
                {
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var bot = TestConfiguration.CreateBot();

                    await ExceptionAssert.ThrowsArgumentNullExceptionAsync("user", async() =>
                    {
                        await bot.SetUserRichMenu((IUser)null, richMenuResponse);
                    });
                }
예제 #4
0
                public async Task ShouldThrowExceptionWhenRichMenuIdIsNull()
                {
                    var richMenu = new RichMenuResponse()
                    {
                        Id = null
                    };

                    var bot = TestConfiguration.CreateBot();

                    await ExceptionAssert.ThrowsArgumentNullExceptionAsync("richMenuId", async() =>
                    {
                        await bot.SetUserRichMenu("test", richMenu);
                    });
                }
                public async Task ShouldThrowExceptionWhenImageDataIsEmpty()
                {
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var bot = TestConfiguration.CreateBot();

                    await ExceptionAssert.ThrowsArgumentEmptyExceptionAsync("imageData", async() =>
                    {
                        await bot.SetRichMenuImage(richMenuResponse, new byte[] { });
                    });
                }
예제 #6
0
                public async Task ShouldThrowExceptionWhenApiCallIsUnsuccessful()
                {
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var httpClient = TestHttpClient.ThatReturnsAnError();
                    var bot        = TestConfiguration.CreateBot(httpClient);

                    await ExceptionAssert.ThrowsAsync <LineBotException>(async() =>
                    {
                        await bot.DeleteRichMenu(richMenuResponse);
                    });
                }
예제 #7
0
                public async Task ShouldCallTheCorrectApi()
                {
                    var richMenuId       = Guid.NewGuid().ToString();
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = richMenuId
                    };

                    var httpClient = TestHttpClient.Create();
                    var bot        = TestConfiguration.CreateBot(httpClient);
                    await bot.DeleteRichMenu(richMenuResponse);

                    Assert.AreEqual(HttpMethod.Delete, httpClient.RequestMethod);
                    Assert.AreEqual($"/richmenu/{richMenuId}", httpClient.RequestPath);
                }
예제 #8
0
                public async Task ShouldCallTheCorrectApi()
                {
                    var user     = new TestUser();
                    var richMenu = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var httpClient = TestHttpClient.Create();
                    var bot        = TestConfiguration.CreateBot(httpClient);
                    await bot.SetUserRichMenu(user, richMenu);

                    Assert.AreEqual(HttpMethod.Post, httpClient.RequestMethod);
                    Assert.AreEqual($"/user/{user.Id}/richmenu/{richMenu.Id}", httpClient.RequestPath);
                }
예제 #9
0
                public async Task ShouldSetDefaultRichMenuIdWhenCorrectInputCallsApi()
                {
                    var input            = new byte[0];
                    var sampleId         = Guid.NewGuid().ToString();
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = sampleId
                    };

                    var httpClient = TestHttpClient.ThatReturnsData(input);
                    var bot        = TestConfiguration.CreateBot(httpClient);
                    await bot.SetDefaultMenu(richMenuResponse);

                    Assert.AreEqual(HttpMethod.Post, httpClient.RequestMethod);
                    Assert.AreEqual($"/user/all/richmenu/{sampleId}", httpClient.RequestPath);
                }
                public async Task ShouldCallTheCorrectApi()
                {
                    var richMenuId       = Guid.NewGuid().ToString();
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = richMenuId
                    };
                    var data = new byte[] { 1, 2, 3, 4 };

                    var httpClient = TestHttpClient.Create();
                    var bot        = TestConfiguration.CreateBot(httpClient);
                    await bot.SetRichMenuImage(richMenuResponse, data);

                    Assert.AreEqual(HttpMethod.Post, httpClient.RequestMethod);
                    Assert.AreEqual($"/richmenu/{richMenuId}/content", httpClient.RequestPath);
                    Assert.AreEqual("01-02-03-04", httpClient.PostedData);
                }
                public async Task ShouldCallTheCorrectApi()
                {
                    var richMenuId       = Guid.NewGuid().ToString();
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = richMenuId
                    };
                    var data = new byte[] { 1, 2, 3, 4 };

                    var httpClient = TestHttpClient.ThatReturnsData(data);
                    var bot        = TestConfiguration.CreateBot(httpClient);
                    var result     = await bot.GetRichMenuImage(richMenuResponse);

                    Assert.AreEqual(HttpMethod.Get, httpClient.RequestMethod);
                    Assert.AreEqual($"/richmenu/{richMenuId}/content", httpClient.RequestPath);
                    CollectionAssert.AreEqual(data, result);
                }
예제 #12
0
                public async Task ShouldThrowExceptionWhenUserIdIsEmpty()
                {
                    var user = new TestUser()
                    {
                        Id = string.Empty
                    };
                    var richMenuResponse = new RichMenuResponse()
                    {
                        Id = Guid.NewGuid().ToString()
                    };

                    var bot = TestConfiguration.CreateBot();

                    await ExceptionAssert.ThrowsArgumentEmptyExceptionAsync("userId", async() =>
                    {
                        await bot.SetUserRichMenu(user, richMenuResponse);
                    });
                }