Skip to content

Commit

Permalink
Fix playwright
Browse files Browse the repository at this point in the history
  • Loading branch information
jmthomas committed Sep 6, 2024
1 parent e922085 commit bbad2ca
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 24 deletions.
36 changes: 12 additions & 24 deletions openc3/lib/openc3/models/activity_model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,44 +47,28 @@ def self.activities(name:, scope:)
start_score = now - 15
stop_score = (now + 3660)
array = Store.zrangebyscore("#{scope}#{PRIMARY_KEY}__#{name}", start_score, stop_score)
ret_array = Array.new
array.each do |value|
ret_array << ActivityModel.from_json(value, name: name, scope: scope)
end
return ret_array
return array.map { |value| ActivityModel.from_json(value, name: name, scope: scope) }
end

# @return [Array|nil] Array up to 100 of this model or empty array if name not found under primary_key
def self.get(name:, start:, stop:, scope:, limit: 100)
if start > stop
raise ActivityInputError.new "start: #{start} must be before stop: #{stop}"
end

array = Store.zrangebyscore("#{scope}#{PRIMARY_KEY}__#{name}", start, stop, :limit => [0, limit])
ret_array = Array.new
array.each do |value|
ret_array << JSON.parse(value, :allow_nan => true, :create_additions => true)
end
return ret_array
return array.map { |value| JSON.parse(value, :allow_nan => true, :create_additions => true) }
end

# @return [Array<Hash>] Array up to the limit of the models (as Hash objects) stored under the primary key
def self.all(name:, scope:, limit: 100)
array = Store.zrange("#{scope}#{PRIMARY_KEY}__#{name}", 0, -1, :limit => [0, limit])
ret_array = Array.new
array.each do |value|
ret_array << JSON.parse(value, :allow_nan => true, :create_additions => true)
end
return ret_array
return array.map { |value| JSON.parse(value, :allow_nan => true, :create_additions => true) }
end

# @return [String|nil] String of the saved json or nil if score not found under primary_key
def self.score(name:, score:, scope:)
array = Store.zrangebyscore("#{scope}#{PRIMARY_KEY}__#{name}", score, score, :limit => [0, 1])
array.each do |value|
return ActivityModel.from_json(value, name: name, scope: scope)
end
return nil
return array.map { |value| ActivityModel.from_json(value, name: name, scope: scope) }
end

# @return [Integer] count of the members stored under the primary key
Expand Down Expand Up @@ -129,7 +113,7 @@ def self.from_json(json, name:, scope:)
self.new(**json.transform_keys(&:to_sym), name: name, scope: scope)
end

attr_reader :start, :stop, :kind, :data, :events, :fulfillment, :recurring
attr_reader :start, :stop, :kind, :data, :fulfillment, :events, :uuid, :recurring

def initialize(
name:,
Expand All @@ -141,16 +125,18 @@ def initialize(
updated_at: 0,
fulfillment: nil,
events: nil,
uuid: nil,
recurring: {}
)
super("#{scope}#{PRIMARY_KEY}__#{name}", name: name, scope: scope)
set_input(
fulfillment: fulfillment,
start: start,
stop: stop,
kind: kind,
data: data,
fulfillment: fulfillment,
events: events,
uuid: uuid,
recurring: recurring,
)
@updated_at = updated_at
Expand Down Expand Up @@ -218,15 +204,16 @@ def validate_input(start:, stop:, kind:, data:)
end

# Set the values of the instance, @start, @kind, @data, @events...
def set_input(start:, stop:, kind: nil, data: nil, events: nil, fulfillment: nil, recurring: nil)
def set_input(start:, stop:, kind: nil, data: nil, fulfillment: nil, events: nil, uuid: nil, recurring: nil)
kind = kind.to_s.downcase
validate_input(start: start, stop: stop, kind: kind, data: data)
@start = start
@stop = stop
@fulfillment = fulfillment.nil? ? false : fulfillment
@kind = kind
@data = data.nil? ? @data : data
@fulfillment = fulfillment.nil? ? false : fulfillment
@events = events.nil? ? Array.new : events
@uuid = SecureRandom.uuid unless uuid
@recurring = recurring.nil? ? @recurring : recurring
end

Expand Down Expand Up @@ -402,6 +389,7 @@ def as_json(*a)
'fulfillment' => @fulfillment,
'start' => @start,
'stop' => @stop,
'uuid' => @uuid,
'kind' => @kind,
'events' => @events,
'data' => @data.as_json(*a),
Expand Down
10 changes: 10 additions & 0 deletions playwright/tests/command-sender.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,8 @@ test('executes commands from history', async ({ page, utils }) => {

// Reload page and verify history still exists
await page.reload()
await expect(page.locator('.v-app-bar')).toContainText('Command Sender')
await utils.sleep(500)
await checkHistory(page, 'cmd("INST CLEAR")')
await checkHistory(
page,
Expand Down Expand Up @@ -509,6 +511,14 @@ test('ignores normal range checks', async ({ page, utils }) => {
.locator('[data-test="sender-history"]')
.press('ControlOrMeta+ArrowRight')
await utils.sleep(100)
await page
.locator('[data-test="sender-history"]')
.press('ControlOrMeta+ArrowRight')
await utils.sleep(100)
await page
.locator('[data-test="sender-history"]')
.press('ControlOrMeta+ArrowRight')
await utils.sleep(100)
await page.locator('[data-test="sender-history"]').press('ArrowLeft')
await utils.sleep(100)
await page.locator('[data-test="sender-history"]').press('ArrowLeft')
Expand Down

0 comments on commit bbad2ca

Please sign in to comment.