diff --git a/lib/bas/bot/write_media_review_in_discord.rb b/lib/bas/bot/write_media_review_in_discord.rb index cbda5e5..e37670b 100644 --- a/lib/bas/bot/write_media_review_in_discord.rb +++ b/lib/bas/bot/write_media_review_in_discord.rb @@ -5,6 +5,7 @@ require_relative "./base" require_relative "../read/postgres" require_relative "../write/postgres" +require_relative "../utils/discord/request" module Bot ## @@ -61,7 +62,7 @@ def process response = Utils::Discord::Request.write_media_text(params) - if !response.nil? + if response.code == 200 { success: { thread_id: read_response.data["thread_id"], property: read_response.data["property"] } } else { error: { message: response.parsed_response, status_code: response.code } } diff --git a/lib/bas/utils/discord/request.rb b/lib/bas/utils/discord/request.rb index 75f50a6..18d5c8a 100644 --- a/lib/bas/utils/discord/request.rb +++ b/lib/bas/utils/discord/request.rb @@ -11,6 +11,8 @@ module Discord # Discord channel. # module Request + DISCORD_BASE_URL = "https://discord.com/api/v10" + # Implements the request process logic to Discord. # #
diff --git a/spec/bas/bot/write_media_review_in_notion_spec.rb b/spec/bas/bot/write_media_review_in_discord_spec.rb similarity index 77% rename from spec/bas/bot/write_media_review_in_notion_spec.rb rename to spec/bas/bot/write_media_review_in_discord_spec.rb index 8f485e6..8fc59d8 100644 --- a/spec/bas/bot/write_media_review_in_notion_spec.rb +++ b/spec/bas/bot/write_media_review_in_discord_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require "bas/bot/write_media_review_in_notion" +require "bas/bot/write_media_review_in_discord" -RSpec.describe Bot::WriteMediaReviewInNotion do +RSpec.describe Bot::WriteMediaReviewInDiscord do before do connection = { host: "localhost", @@ -15,16 +15,16 @@ config = { read_options: { connection:, - db_table: "use_cases", + db_table: "review_media", tag: "FormatMediaReview" }, process_options: { - secret: "secret" + secret_token: "discord_bot_token" }, write_options: { connection:, - db_table: "use_cases", - tag: "WriteMediaReviewInNotion" + db_table: "review_media", + tag: "WriteMediaReviewInDiscord" } } @@ -47,13 +47,13 @@ describe ".read" do let(:pg_conn) { instance_double(PG::Connection) } let(:review_request_results) do - "{ \"created_by\": \"1234567\", \"review\": \"simple text\",\"page_id\": - \"review_table_request\", \"property\": \"paragraph\", \"media_type\": \"paragraph\" }" + "{ \"author\": \"user\", \"review\": \"simple text\", \"property\": \"images\", + \"thread_id\": \"1285685692772646922\", \"media_type\": \"images\" }" end let(:review_request) do - { "created_by" => "1234567", "review" => "simple text", - "page_id" => "review_table_request", "property" => "paragraph", "media_type" => "paragraph" } + { "author" => "user", "review" => "simple text", "property" => "images", + "thread_id" => "1285685692772646922", "media_type" => "images" } end before do @@ -76,30 +76,30 @@ describe ".process" do let(:review_request) do - { "created_by" => "1234567", "review" => "{\"children\": \"simple text\"}", - "page_id" => "review_table_request", "property" => "paragraph", "media_type" => "paragraph" } + { "author" => "user", "review" => "simple text", "property" => "images", + "thread_id" => "1285685692772646922", "media_type" => "images" } end let(:error_response) { { "object" => "error", "status" => 404, "message" => "not found" } } - let(:response) { double("http_response") } + let(:response) { double("https_response") } before do @bot.read_response = Read::Types::Response.new(1, review_request, "date") - allow(HTTParty).to receive(:send).and_return(response) end - it "returns a success hash with page and property to be updated" do + it "returns a success hash with thread_id and property to be updated" do allow(response).to receive(:code).and_return(200) processed = @bot.process - expect(processed).to eq({ success: { page_id: review_request["page_id"], property: review_request["property"] } }) + expect(processed).to eq({ success: { thread_id: review_request["thread_id"], property: review_request["property"] } }) end it "returns an error hash with the error message" do allow(response).to receive(:code).and_return(404) + allow(response).to receive(:parsed_response).and_return(error_response) processed = @bot.process